diff options
author | Robert Mustacchi <rm@joyent.com> | 2014-04-02 18:04:36 +0000 |
---|---|---|
committer | Robert Mustacchi <rm@joyent.com> | 2014-04-03 08:12:05 -0700 |
commit | 4b835deeb9507998d1e01b7be950b7ddb0d2564f (patch) | |
tree | ae0fb91218527c2440a19a34bf576f7146961c43 /usr/src | |
parent | 8f6d9dae92449b59bdafcb7777bc32f1b2726e48 (diff) | |
download | illumos-joyent-4b835deeb9507998d1e01b7be950b7ddb0d2564f.tar.gz |
4721 writing NT_FDINFO leaks vnode
Reviewed by: Marcel Telka <marcel@telka.sk>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Dan McDonald <danmcd@omniti.com>
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/exec/elf/elf_notes.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usr/src/uts/common/exec/elf/elf_notes.c b/usr/src/uts/common/exec/elf/elf_notes.c index 51db603177..81ce155db0 100644 --- a/usr/src/uts/common/exec/elf/elf_notes.c +++ b/usr/src/uts/common/exec/elf/elf_notes.c @@ -26,7 +26,7 @@ /* * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. - * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014, Joyent, Inc. All rights reserved. */ #include <sys/types.h> @@ -405,10 +405,13 @@ write_elfnotes(proc_t *p, int sig, vnode_t *vp, offset_t offset, error = elfnote(vp, &offset, NT_FDINFO, sizeof (fdinfo), &fdinfo, rlimit, credp); if (error) { + VN_RELE(vroot); goto done; } } + VN_RELE(vroot); + #if defined(__i386) || defined(__i386_COMPAT) mutex_enter(&p->p_ldtlock); ssdsize = prnldt(p) * sizeof (struct ssd); |