+1999-06-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * elf/dl-load.c (_dl_init_paths): Add one more element to aelem
+ to not write beyond allocated memory.
+ Reported by John Reiser <jreiser@BitWagon.com>, closes PR libc/1167.
+
+1999-06-17 Ulrich Drepper <drepper@cygnus.com>
+
+ * malloc/mtrace.c: Keep lock while printing output lines.
+ Patch by carsten.zimmermann@mediaways.net [PR libc/1166].
+
1999-06-16 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Add warnings about broken code.
/* First set up the rest of the default search directory entries. */
aelem = rtld_search_dirs = (struct r_search_path_elem **)
- malloc ((sizeof (system_dirs_len) / sizeof (system_dirs_len[0]))
+ malloc ((sizeof (system_dirs_len) / sizeof (system_dirs_len[0]) + 1)
* sizeof (struct r_search_path_elem *));
if (rtld_search_dirs == NULL)
_dl_signal_error (ENOMEM, NULL, "cannot create search path array");
__ptr_t ptr;
const __ptr_t caller;
{
+ __libc_lock_lock (lock);
tr_where (caller);
/* Be sure to print it first. */
fprintf (mallstream, "- %p\n", ptr);
+ __libc_lock_unlock (lock);
if (ptr == mallwatch)
tr_break ();
__libc_lock_lock (lock);
hdr = (__ptr_t) malloc (size);
__malloc_hook = tr_mallochook;
- __libc_lock_unlock (lock);
-
tr_where (caller);
/* We could be printing a NULL here; that's OK. */
fprintf (mallstream, "+ %p %#lx\n", hdr, (unsigned long int) size);
+ __libc_lock_unlock (lock);
+
if (hdr == mallwatch)
tr_break ();
__malloc_hook = tr_mallochook;
__realloc_hook = tr_reallochook;
- __libc_lock_unlock (lock);
-
tr_where (caller);
if (hdr == NULL)
/* Failed realloc. */
fprintf (mallstream, "> %p %#lx\n", hdr, (unsigned long int) size);
}
+ __libc_lock_unlock (lock);
+
if (hdr == mallwatch)
tr_break ();