From: Rich Felker Date: Tue, 27 Sep 2011 16:18:44 +0000 (-0400) Subject: fix incorrect allocation failure check in pthread_create X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=commitdiff_plain;h=3f39c9b3130cd6c142d358159879b799370a6663;hp=7e14ed1360c65b78c3ad1fc4fafea13e30067478;ds=sidebyside fix incorrect allocation failure check in pthread_create mmap returns MAP_FAILED not 0 because some idiot thought the ability to mmap the null pointer page would be a good idea... --- diff --git a/src/thread/pthread_create.c b/src/thread/pthread_create.c index f7768d8d..0189f028 100644 --- a/src/thread/pthread_create.c +++ b/src/thread/pthread_create.c @@ -102,7 +102,7 @@ int pthread_create(pthread_t *res, const pthread_attr_t *attr, void *(*entry)(vo } size += __pthread_tsd_size; map = mmap(0, size, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0); - if (!map) return EAGAIN; + if (map == MAP_FAILED) return EAGAIN; if (guard) mprotect(map, guard, PROT_NONE); tsd = map + size - __pthread_tsd_size;