about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-10-11 04:34:14 +0000
committerUlrich Drepper <drepper@redhat.com>1999-10-11 04:34:14 +0000
commitbca9f4abe86e3ba2d84cb5ff96d55fe9d5afc722 (patch)
tree28f5fbfadeeba39d4ef3e85dfec8f5252ad5a168
parentcc97b1e5f0c84830f4937f2417928dd4d5f858b8 (diff)
downloadglibc-bca9f4abe86e3ba2d84cb5ff96d55fe9d5afc722.tar.gz
glibc-bca9f4abe86e3ba2d84cb5ff96d55fe9d5afc722.tar.xz
glibc-bca9f4abe86e3ba2d84cb5ff96d55fe9d5afc722.zip
Fix typo.
	* stdlib/exit.c (exit): Beware to not free statically allocated
-rw-r--r--ChangeLog2
-rw-r--r--stdlib/exit.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 47c6ab4798..4ee3d2d027 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,7 +2,7 @@
 
 	* stdlib/atexit.c (initial): New variable.  Use to initialize
 	__exit_funcs.
-	* stdlib/exit.c (exit): Beware to not free statically allocale
+	* stdlib/exit.c (exit): Beware to not free statically allocated
 	list element [PR libc/1305].
 
 	* stdlib/xpg_basename.c (__xpg_basename): Don't return pointer to
diff --git a/stdlib/exit.c b/stdlib/exit.c
index dc189556b4..f44c519aa7 100644
--- a/stdlib/exit.c
+++ b/stdlib/exit.c
@@ -62,7 +62,10 @@ exit (int status)
 
       old = __exit_funcs;
       __exit_funcs = __exit_funcs->next;
-      free (old);
+      if (__exit_funcs != NULL)
+	/* Don't free the last element in the chain, this is the statically
+	   allocate element.  */
+	free (old);
     }
 
 #ifdef	HAVE_GNU_LD