]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
resolv: Fix memory leak with OOM during resolv.conf parsing [BZ #22095]
authorFlorian Weimer <fweimer@redhat.com>
Wed, 6 Sep 2017 13:46:54 +0000 (15:46 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Wed, 6 Sep 2017 13:46:54 +0000 (15:46 +0200)
(cherry picked from commit 5670c4ab256114e869b1df4b05653aa5f909182c)

ChangeLog
NEWS
resolv/res_init.c

index fa215c27297dad5eb34b68917b4ac7b567f16b95..ef2041b9e57009520635883283bc823ffd02a2a9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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.
diff --git a/NEWS b/NEWS
index 8fbf4241d174de11a11ff21569c209b1cd7380fc..62959274b3b18ebceb832f61bc9184d1f780dc8f 100644 (file)
--- 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
 \f
 Version 2.26
 
index fa46ce7813c1f8af1418c5a99cfe4e414d575142..4e1f9fe8dea93e8add506d9152b0e943986eb67e 100644 (file)
@@ -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;
             }