libanl: properly cleanup if first helper thread creation failed (bug 22927)

(cherry picked from commit bd3b0fbae3)
This commit is contained in:
Andreas Schwab 2018-11-06 16:12:07 +01:00 committed by Florian Weimer
parent 65010329f2
commit fc0e3393ff
3 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2018-11-05 Andreas Schwab <schwab@suse.de>
[BZ #22927]
* resolv/gai_misc.c (__gai_enqueue_request): Don't crash if
creating the first helper thread failed.
2018-10-23 Adhemerval Zanella <adhemerval.zanella@linaro.org>
[BZ #23709]

1
NEWS
View File

@ -10,6 +10,7 @@ Version 2.28.1
The following bugs are resolved with this release:
[20209] localedata: Spelling mistake for Sunday in Greenlandic kl_GL
[22927] libanl: properly cleanup if first helper thread creation failed
[23400] stdlib/test-bz22786.c creates temporary files in glibc source tree
[23497] readdir64@GLIBC_2.1 cannot parse the kernel directory stream
[23521] nss_files aliases database file stream leak

View File

@ -261,8 +261,11 @@ __gai_enqueue_request (struct gaicb *gaicbp)
/* We cannot create a thread in the moment and there is
also no thread running. This is a problem. `errno' is
set to EAGAIN if this is only a temporary problem. */
assert (lastp->next == newp);
lastp->next = NULL;
assert (requests == newp || lastp->next == newp);
if (lastp != NULL)
lastp->next = NULL;
else
requests = NULL;
requests_tail = lastp;
newp->next = freelist;