diff options
author | Florian Weimer <fweimer@redhat.com> | 2017-09-06 15:46:54 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2017-09-06 15:46:54 +0200 |
commit | 905a6129147e7ee80e8918e23efe212433b8cce7 (patch) | |
tree | d1bca2bb8f002bacf8347a2ed5f72185b3403a85 | |
parent | 3005466abe8fb80ad4ff51865f1e28dd81c43347 (diff) | |
download | glibc-905a6129147e7ee80e8918e23efe212433b8cce7.tar.gz |
resolv: Fix memory leak with OOM during resolv.conf parsing [BZ #22095]
(cherry picked from commit 5670c4ab256114e869b1df4b05653aa5f909182c)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | resolv/res_init.c | 5 |
3 files changed, 12 insertions, 0 deletions
@@ -1,5 +1,11 @@ 2017-09-06 Florian Weimer <fweimer@redhat.com> + [BZ #22095] + * resolv/res_init.c (res_vinit_1): Avoid memory leak in case of + dynarray allocation failure. + +2017-09-06 Florian Weimer <fweimer@redhat.com> + Remove dead PTR IPv4-to-IPv6 mapping code from nss_dns. * resolv/nss_dns/dns-host.c (getanswer_r): Remove dead code. * resolv/tst-res_use_inet6.c (response_ptr_v4, response_ptr_v6): @@ -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 fa46ce7813..4e1f9fe8de 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; } |