diff --git a/RELNOTES b/RELNOTES index 8f7943bb..1379d604 100644 --- a/RELNOTES +++ b/RELNOTES @@ -170,6 +170,10 @@ by Eric Young (eay@cryptsoft.com). in a pool are used. [ISC-Bugs #34487] +- Add code to properly dereference a pointer in the dhclient code + on an error condition. + [ISC-Bugs #36194 + Changes since 4.3.0rc1 - None diff --git a/client/dhclient.c b/client/dhclient.c index 6d348c1e..12c42b79 100644 --- a/client/dhclient.c +++ b/client/dhclient.c @@ -2413,9 +2413,11 @@ make_client_options(struct client_state *client, struct client_lease *lease, dhcp_universe.code_hash, &code, 0, MDL) && make_const_option_cache(&oc, &bp, NULL, len, - option, MDL))) - log_error("can't make option cache"); - else { + option, MDL))) { + if (bp != NULL) + buffer_dereference(&bp, MDL); + log_error ("can't make option cache"); + } else { save_option(&dhcp_universe, *op, oc); option_cache_dereference(&oc, MDL); }