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 17:11:25 +01:00 committed by Florian Weimer
parent d8eee5ef55
commit 1050634904
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

@ -65,6 +65,7 @@ The following bugs are resolved with this release:
[22918] multiple common of `__nss_shadow_database'
[22919] sparc32: backtrace yields infinite backtrace with makecontext
[22926] FTBFS on powerpcspe
[22927] libanl: properly cleanup if first helper thread creation failed
[22932] lt_LT: Update of abbreviated month names from CLDR required
[22937] Greek (el_GR, el_CY) locales actually need ab_alt_mon
[22947] FAIL: misc/tst-preadvwritev2

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;