From ca3c01356495ebfbb315c2984dda8eba88467597 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 13 Jul 2000 19:46:27 +0000 Subject: Update. * elf/Versions (ld): Export _dl_out_of_memory for GLIBC_2.2. * dlfcn/dlerror.c (dlerror): Don't free the error string if it is the report that we are out of memory. * elf/dl-deps.c (_dl_map_object_deps): Likewise. * elf/dl-libc.c (dlerror_run): Likewise. * elf/dl-open.c (_dl_open): Likewise. * elf/rtld.c (dl_main): Likewise. * elf/dl-error.c: Define _dl_out_of_memory. (_dl_signal_error): Return _dl_signal_error if we cannot duplicate the error string. * sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory. * dlfcn/dlerror.c (free_key_mem): Also free error string. * iconv/loop.c: Fix comment. --- elf/dl-open.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'elf/dl-open.c') diff --git a/elf/dl-open.c b/elf/dl-open.c index e5628b6f06..680377be0a 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c @@ -329,7 +329,8 @@ _dl_open (const char *file, int mode, const void *caller) /* Make a local copy of the error string so that we can release the memory allocated for it. */ local_errstring = strdupa (errstring); - free ((char *) errstring); + if (errstring != _dl_out_of_memory) + free ((char *) errstring); /* Reraise the error. */ _dl_signal_error (errcode, objname, local_errstring); -- cgit v1.2.3