diff options
author | Andreas Schwab <schwab@suse.de> | 2018-03-27 12:16:11 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2018-03-27 17:26:32 +0200 |
commit | f178e59fa5eefbbd37fde040ae8334aa5c857ee1 (patch) | |
tree | d23e236dd00c5b54e13226f2c32c2be64bc0515f | |
parent | 5f45f96ad09d7f80172b45dca16d6ca2baeea2a8 (diff) | |
download | glibc-f178e59fa5eefbbd37fde040ae8334aa5c857ee1.tar.gz glibc-f178e59fa5eefbbd37fde040ae8334aa5c857ee1.tar.xz glibc-f178e59fa5eefbbd37fde040ae8334aa5c857ee1.zip |
Fix crash in resolver on memory allocation failure (bug 23005)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | resolv/res_send.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 111623dc70..77751d628d 100644 --- 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] diff --git a/resolv/res_send.c b/resolv/res_send.c index dde0425a33..7debf143f7 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; } |