diff --git a/ChangeLog b/ChangeLog index 6ee22553d5..607e95cb73 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 c1102a152f..5fef60bc0f 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 e7c3b63cc5..80a2cff835 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;