summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2014-04-02 18:04:36 +0000
committerRobert Mustacchi <rm@joyent.com>2014-04-03 08:12:05 -0700
commit4b835deeb9507998d1e01b7be950b7ddb0d2564f (patch)
treeae0fb91218527c2440a19a34bf576f7146961c43 /usr/src
parent8f6d9dae92449b59bdafcb7777bc32f1b2726e48 (diff)
downloadillumos-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.c5
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);