diff options
author | kan <kan@FreeBSD.org> | 2010-06-03 00:25:43 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2010-06-03 00:25:43 +0000 |
commit | 1ae09bbbb64d7426813430300b12dd003f3a623f (patch) | |
tree | ee4b2dac4b12882272ec0cc38d8a1483af4a757e /libexec | |
parent | 3112aa25052f36656d511d04474d1bf95ca17fbc (diff) | |
download | FreeBSD-src-1ae09bbbb64d7426813430300b12dd003f3a623f.zip FreeBSD-src-1ae09bbbb64d7426813430300b12dd003f3a623f.tar.gz |
Plug possible memory leak.
Found by: Coverity
MFC after: 2 weeks
Diffstat (limited to 'libexec')
-rw-r--r-- | libexec/rtld-elf/rtld.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index c303483..8082656 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -1530,8 +1530,10 @@ load_object(const char *name, const Obj_Entry *refobj, int flags) close(fd); return obj; } - if (flags & RTLD_LO_NOLOAD) + if (flags & RTLD_LO_NOLOAD) { + free(path); return (NULL); + } /* First use of this object, so we must map it in */ obj = do_load_object(fd, name, path, &sb, flags); |