about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-04-26 13:46:43 +0000
committerUlrich Drepper <drepper@redhat.com>2001-04-26 13:46:43 +0000
commit1b20d937f379c03537843cda49fdd7d4fdfbd5ab (patch)
tree93fb66a2d83a8a3c00e54d02face33021981814d
parent48a92e9d2da28b7bef8474f1effda68c13ed2fd1 (diff)
downloadglibc-1b20d937f379c03537843cda49fdd7d4fdfbd5ab.tar.gz
glibc-1b20d937f379c03537843cda49fdd7d4fdfbd5ab.tar.xz
glibc-1b20d937f379c03537843cda49fdd7d4fdfbd5ab.zip
Update.
	* malloc/mcheck.c (mcheck): Call malloc once before setting the
	hooks to allow the internal check hooks to be set up if necessary.
-rw-r--r--ChangeLog3
-rw-r--r--malloc/mcheck.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 08ecaabeb7..f16b9d6bf4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2001-04-26  Ulrich Drepper  <drepper@redhat.com>
 
+	* malloc/mcheck.c (mcheck): Call malloc once before setting the
+	hooks to allow the internal check hooks to be set up if necessary.
+
 	* nis/nss-nis.h: Move yperr2nss_tab definition into separate file
 	and rename to __yperr2nss_tab.  Change YPERR_COUNT into variable
 	__yperr2nss_count.
diff --git a/malloc/mcheck.c b/malloc/mcheck.c
index f17bc0c0c5..971e2e52c6 100644
--- a/malloc/mcheck.c
+++ b/malloc/mcheck.c
@@ -315,6 +315,10 @@ mcheck (func)
   /* These hooks may not be safely inserted if malloc is already in use.  */
   if (__malloc_initialized <= 0 && !mcheck_used)
     {
+      /* We call malloc() once here to ensure it is initialized.  */
+      void *p = malloc (0);
+      free (p);
+
       old_free_hook = __free_hook;
       __free_hook = freehook;
       old_malloc_hook = __malloc_hook;