diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-03-15 19:26:13 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-03-15 19:26:13 +0000 |
commit | 2e0fc40cc49e8168f99b252dba4746c280b7a1d7 (patch) | |
tree | 652dcb36fee578c7f69c2d0c3029a70825e34839 /elf/tst-leaks1.c | |
parent | facac085dc7f5927a9f52d8e9abf84acf5c1b8d3 (diff) | |
download | glibc-2e0fc40cc49e8168f99b252dba4746c280b7a1d7.tar.gz |
[BZ #2451]
2006-03-13 Jakub Jelinek <jakub@redhat.com>
[BZ #2451]
* elf/dl-load.c (open_verify): Add free_name argument, if true, free
name before calling lose.
(open_path): Adjust caller.
(_dl_map_object): Adjust callers. Free name_copy before calling
_dl_signal_error.
* elf/Makefile: Add rules to build and run tst-leaks1.
* elf/tst-leaks1.c: New test.
Diffstat (limited to 'elf/tst-leaks1.c')
-rw-r--r-- | elf/tst-leaks1.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/elf/tst-leaks1.c b/elf/tst-leaks1.c new file mode 100644 index 0000000000..c9db5e0537 --- /dev/null +++ b/elf/tst-leaks1.c @@ -0,0 +1,24 @@ +#include <dlfcn.h> +#include <mcheck.h> +#include <stdlib.h> + +int +main (void) +{ + mtrace (); + + int ret = 0; + for (int i = 0; i < 10; i++) + { + void *h = dlopen (i < 5 ? "./tst-leaks1.c" + : "$ORIGIN/tst-leaks1.o", RTLD_LAZY); + if (h != NULL) + { + puts ("dlopen unexpectedly succeeded"); + ret = 1; + dlclose (h); + } + } + + return ret; +} |