Parcourir la source

use libc-internal malloc for pthread_atfork

while no lock is held here making it a lock-order issue, replacement
malloc is likely to want to use pthread_atfork, possibly making the
call to malloc infinitely recursive.

even if not, there is no reason to prefer an application-provided
malloc here.
Rich Felker il y a 2 ans
Parent
commit
9532ae1318
1 fichiers modifiés avec 5 ajouts et 0 suppressions
  1. 5 0
      src/thread/pthread_atfork.c

+ 5 - 0
src/thread/pthread_atfork.c

@@ -3,6 +3,11 @@
 #include "libc.h"
 #include "lock.h"
 
+#define malloc __libc_malloc
+#define calloc undef
+#define realloc undef
+#define free undef
+
 static struct atfork_funcs {
 	void (*prepare)(void);
 	void (*parent)(void);