From: Florian Weimer Date: Wed, 6 Sep 2017 13:46:54 +0000 (+0200) Subject: resolv: Fix memory leak with OOM during resolv.conf parsing [BZ #22095] X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=905a6129147e7ee80e8918e23efe212433b8cce7;p=thirdparty%2Fglibc.git resolv: Fix memory leak with OOM during resolv.conf parsing [BZ #22095] (cherry picked from commit 5670c4ab256114e869b1df4b05653aa5f909182c) --- diff --git a/ChangeLog b/ChangeLog index fa215c27297..ef2041b9e57 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-09-06 Florian Weimer + + [BZ #22095] + * resolv/res_init.c (res_vinit_1): Avoid memory leak in case of + dynarray allocation failure. + 2017-09-06 Florian Weimer Remove dead PTR IPv4-to-IPv6 mapping code from nss_dns. diff --git a/NEWS b/NEWS index 8fbf4241d17..62959274b3b 100644 --- a/NEWS +++ b/NEWS @@ -28,6 +28,7 @@ The following bugs are resolved with this release: [21932] Unpaired __resolv_context_get in generic get*_r implementation [21941] powerpc: Restrict xssqrtqp operands to Vector Registers [21972] assert macro requires operator== (int) for its argument type + [22095] resolv: Fix memory leak with OOM during resolv.conf parsing Version 2.26 diff --git a/resolv/res_init.c b/resolv/res_init.c index fa46ce7813c..4e1f9fe8dea 100644 --- a/resolv/res_init.c +++ b/resolv/res_init.c @@ -446,6 +446,11 @@ res_vinit_1 (FILE *fp, struct resolv_conf_parser *parser) (&parser->nameserver_list); if (p != NULL) *p = sa; + else + { + free (sa); + return false; + } } continue; }