Fix crash in resolver on memory allocation failure (bug 23005)
authorAndreas Schwab <schwab@suse.de>
Tue, 27 Mar 2018 10:16:11 +0000 (12:16 +0200)
committerAndreas Schwab <schwab@suse.de>
Tue, 27 Mar 2018 15:26:32 +0000 (17:26 +0200)
ChangeLog
resolv/res_send.c

index 111623d..77751d6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-03-27  Andreas Schwab  <schwab@suse.de>
+
+       [BZ #23005]
+       * resolv/res_send.c (__res_context_send): Return ENOMEM if
+       allocation of private copy of nsaddr_list fails.
+
 2018-03-26  Joseph Myers  <joseph@codesourcery.com>
 
        [BZ #16552]
index dde0425..7debf14 100644 (file)
@@ -471,6 +471,11 @@ __res_context_send (struct resolv_context *ctx,
                                        '\0',
                                        sizeof (struct sockaddr_in6)
                                        - sizeof (struct sockaddr_in));
+                       else
+                         {
+                           __set_errno (ENOMEM);
+                           return -1;
+                         }
                }
                EXT(statp).nscount = statp->nscount;
        }