]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
resolv: __resolv_conf_attach must not free passed conf object [BZ #22096]
authorFlorian Weimer <fweimer@redhat.com>
Wed, 6 Sep 2017 13:47:27 +0000 (15:47 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Wed, 6 Sep 2017 13:47:27 +0000 (15:47 +0200)
(cherry picked from commit a83047308196e3e54716a39dd85c0a08b198d6bd)

ChangeLog
NEWS
resolv/resolv_conf.c

index ef2041b9e57009520635883283bc823ffd02a2a9..e98a4bbf3c18fa48e2da190848974813e51ea886 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-09-06  Florian Weimer  <fweimer@redhat.com>
+
+       [BZ #22096]
+       * resolv/resolv_conf.c (__resolv_conf_attach): Do not free conf in
+       case of failure to obtain the global conf object.
+
 2017-09-06  Florian Weimer  <fweimer@redhat.com>
 
        [BZ #22095]
diff --git a/NEWS b/NEWS
index 62959274b3b18ebceb832f61bc9184d1f780dc8f..9bcb1761717dc0c35c575db6cc81b14797c091f9 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -29,6 +29,7 @@ The following bugs are resolved with this release:
   [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
+  [22096] resolv: __resolv_conf_attach must not free passed conf object
 \f
 Version 2.26
 
index f391d30c277bb3481ffef7ac74f9a198981ddecf..e0f296d02e061a89d02017f9fa671f8833d58093 100644 (file)
@@ -600,10 +600,7 @@ __resolv_conf_attach (struct __res_state *resp, struct resolv_conf *conf)
 
   struct resolv_conf_global *global_copy = get_locked_global ();
   if (global_copy == NULL)
-    {
-      free (conf);
-      return false;
-    }
+    return false;
 
   /* Try to find an unused index in the array.  */
   size_t index;