Pārlūkot izejas kodu

Fix 'realloc' and revert previous changes to tests. malloc tests all pass regardless of the setting of MALLOC_GLIBC_COMPAT.

"Steven J. Hill" 18 gadi atpakaļ
vecāks
revīzija
fc6389aa6a

+ 1 - 1
libc/stdlib/malloc-standard/realloc.c

@@ -52,7 +52,7 @@ void* realloc(void* oldmem, size_t bytes)
 	return malloc(bytes);
     if (! bytes) {
 	free (oldmem);
-	return malloc(bytes);
+	return NULL;
     }
 
     LOCK;

+ 0 - 4
test/malloc/malloc.c

@@ -70,11 +70,7 @@ int test2(void)
 	
 	ptr = malloc(100);
 	ptr = realloc(ptr, 0);
-#ifdef __MALLOC_GLIBC_COMPAT__
-	if (!ptr) {
-#else
 	if (ptr) {
-#endif
 		printf("realloc(,0) failed\n");
 		++ret;
 		free(ptr);

+ 0 - 15
test/malloc/tst-malloc.c

@@ -54,16 +54,9 @@ main (void)
 
   /* realloc (p, 0) == free (p).  */
   p = realloc (p, 0);
-#ifdef __MALLOC_GLIBC_COMPAT__
-  if (!p)
-#else
   if (p != NULL)
-#endif
     merror ("realloc (p, 0) failed.");
 
-#ifdef __MALLOC_GLIBC_COMPAT__
-  free (p);
-#endif
   p = malloc (0);
 #if !defined(__UCLIBC__) || defined(__MALLOC_GLIBC_COMPAT__)
   if (p == NULL)
@@ -73,16 +66,8 @@ main (void)
     merror ("malloc (0) failed.");
 
   p = realloc (p, 0);
-#ifdef __MALLOC_GLIBC_COMPAT__
-  if (!p)
-#else
   if (p != NULL)
-#endif
     merror ("realloc (p, 0) failed.");
 
-#ifdef __MALLOC_GLIBC_COMPAT__
-  free (p);
-#endif
-
   return errors != 0;
 }

+ 0 - 8
test/malloc/tst-mcheck.c

@@ -50,11 +50,7 @@ main (void)
     merror ("malloc (10) failed.");
 
   p = realloc (p, 0);
-#ifdef __MALLOC_GLIBC_COMPAT__
-  if (!p)
-#else
   if (p != NULL)
-#endif
     merror ("realloc (p, 0) failed.");
 
   p = malloc (0);
@@ -66,11 +62,7 @@ main (void)
     merror ("malloc (0) failed.");
 
   p = realloc (p, 0);
-#ifdef __MALLOC_GLIBC_COMPAT__
-  if (!p)
-#else
   if (p != NULL)
-#endif
     merror ("realloc (p, 0) failed.");
 
   q = malloc (256);