From: W.C.A. Wijngaards Date: Tue, 2 Sep 2025 15:10:42 +0000 (+0200) Subject: - Fix #1324: Memory leak in 'msgparse.c' in X-Git-Tag: release-1.24.0rc1~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=af9682464216dc5f9cdb497a1e72cb7305231be5;p=thirdparty%2Funbound.git - Fix #1324: Memory leak in 'msgparse.c' in 'parse_edns_options_from_query(...)'. --- diff --git a/doc/Changelog b/doc/Changelog index d7e1a0ddc..77c4b554f 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,6 +1,8 @@ 2 September 2025: Wouter - Fix #1235: Outdated Python2 code in unbound/pythonmod/examples/log.py. + - Fix #1324: Memory leak in 'msgparse.c' in + 'parse_edns_options_from_query(...)'. 1 September 2025: Wouter - Fix for #1324: Fix to free edns options scratch in ratelimit case. diff --git a/util/configparser.y b/util/configparser.y index ebb23f41c..ba754b3e5 100644 --- a/util/configparser.y +++ b/util/configparser.y @@ -1168,11 +1168,13 @@ server_http_endpoint: VAR_HTTP_ENDPOINT STRING_ARG free(cfg_parser->cfg->http_endpoint); if($2 && $2[0] != '/') { cfg_parser->cfg->http_endpoint = malloc(strlen($2)+2); - if(!cfg_parser->cfg->http_endpoint) + if(cfg_parser->cfg->http_endpoint) { + cfg_parser->cfg->http_endpoint[0] = '/'; + memmove(cfg_parser->cfg->http_endpoint+1, $2, + strlen($2)+1); + } else { yyerror("out of memory"); - cfg_parser->cfg->http_endpoint[0] = '/'; - memmove(cfg_parser->cfg->http_endpoint+1, $2, - strlen($2)+1); + } free($2); } else { cfg_parser->cfg->http_endpoint = $2;