From: Andreas Schwab Date: Thu, 17 May 2018 11:57:29 +0000 (+0200) Subject: Fix crash in resolver on memory allocation failure (bug 23005) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=31e2d15b808e6c3bd7406eb0c1bef8d76ec6abe2;p=thirdparty%2Fglibc.git Fix crash in resolver on memory allocation failure (bug 23005) (cherry picked from commit f178e59fa5eefbbd37fde040ae8334aa5c857ee1) --- diff --git a/ChangeLog b/ChangeLog index da8d9a51905..05a15bc72eb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2018-03-27 Andreas Schwab + + [BZ #23005] + * resolv/res_send.c (__res_context_send): Return ENOMEM if + allocation of private copy of nsaddr_list fails. + 2018-03-27 Jesse Hathaway [BZ #23024] diff --git a/NEWS b/NEWS index dcbb2b0ff6f..4d360a426e8 100644 --- a/NEWS +++ b/NEWS @@ -118,6 +118,7 @@ The following bugs are resolved with this release: [22685] powerpc: Fix syscalls during early process initialization [22715] x86-64: Properly align La_x86_64_retval to VEC_SIZE [22774] malloc: Integer overflow in malloc (CVE-2018-6551) + [23005] resolv: Fix crash in resolver on memory allocation failure [23024] getlogin_r: return early when linux sentinel value is set [23037] resolv: Fully initialize struct mmsghdr in send_dg diff --git a/resolv/res_send.c b/resolv/res_send.c index 0ca02f98430..83f35f60da7 100644 --- a/resolv/res_send.c +++ b/resolv/res_send.c @@ -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; }