about summary refs log tree commit diff
diff options
context:
space:
mode:
-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;