From: Andreas Schwab Date: Tue, 6 Nov 2018 16:11:25 +0000 (+0100) Subject: libanl: properly cleanup if first helper thread creation failed (bug 22927) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1050634904b77d8563ffb1e7039095155ed466ef;p=thirdparty%2Fglibc.git libanl: properly cleanup if first helper thread creation failed (bug 22927) (cherry picked from commit bd3b0fbae33a9a4cc5e2daf049443d5cf03d4251) --- diff --git a/ChangeLog b/ChangeLog index 6ee22553d5a..607e95cb73e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2018-11-05 Andreas Schwab + + [BZ #22927] + * resolv/gai_misc.c (__gai_enqueue_request): Don't crash if + creating the first helper thread failed. + 2018-10-23 Adhemerval Zanella [BZ #23709] diff --git a/NEWS b/NEWS index c1102a152fa..5fef60bc0f0 100644 --- a/NEWS +++ b/NEWS @@ -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 diff --git a/resolv/gai_misc.c b/resolv/gai_misc.c index e7c3b63cc57..80a2cff8353 100644 --- a/resolv/gai_misc.c +++ b/resolv/gai_misc.c @@ -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;