diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | elf/dl-open.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 6cc3f21e98..ead33bacc3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2000-12-27 Ben Collins <bcollins@debian.org> + + * elf/dl-open.c (_dl_open): Correctly set the new objname pointer + when reallocating the error strings. + Reported by Kalle Olavi Niemitalo <kon@iki.fi> + 2000-12-27 Ulrich Drepper <drepper@redhat.com> * dlfcn/Makefile (tests): Add errmsg1. diff --git a/elf/dl-open.c b/elf/dl-open.c index 90355796ba..931e22625c 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c @@ -403,9 +403,9 @@ _dl_open (const char *file, int mode, const void *caller) len_errstring = strlen (errstring) + 1; if (objname == errstring + len_errstring) { - len_errstring += strlen (objname) + 1; - local_errstring = alloca (len_errstring); - memcpy (local_errstring, errstring, len_errstring); + size_t total_len = len_errstring + strlen (objname) + 1; + local_errstring = alloca (total_len); + memcpy (local_errstring, errstring, total_len); objname = local_errstring + len_errstring; } else |