diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-09-07 22:58:47 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-09-07 22:58:47 -0400 |
commit | c966526aa40273e0da42dfd26fa8c0f409e69b86 (patch) | |
tree | b754d8ca3cba598986828743b2d1e7b5469f492a /elf | |
parent | 680f813ed3b9e6203e952c6d7275526ccc04d17f (diff) | |
download | glibc-c966526aa40273e0da42dfd26fa8c0f409e69b86.zip glibc-c966526aa40273e0da42dfd26fa8c0f409e69b86.tar.gz glibc-c966526aa40273e0da42dfd26fa8c0f409e69b86.tar.bz2 |
Fix memory leak in case of failed dlopen
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-load.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c index 24b3359..7d7008d 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -888,6 +888,8 @@ lose (int code, int fd, const char *name, char *realname, struct link_map *l, /* The file might already be closed. */ if (fd != -1) (void) __close (fd); + if (l->l_origin != (char *) -1l) + free (l->l_origin); free (l); free (realname); |