summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2013-11-25 20:45:30 +0000
committerpjd <pjd@FreeBSD.org>2013-11-25 20:45:30 +0000
commit1c22c1352a68318712aa7e8d0d688fa1a558af3c (patch)
treec214255caa7096083237e195f0f759fc0e4e28e8
parent648f0dc2b110707bda10038f5dcbb1de4f7c00cc (diff)
downloadFreeBSD-src-1c22c1352a68318712aa7e8d0d688fa1a558af3c.zip
FreeBSD-src-1c22c1352a68318712aa7e8d0d688fa1a558af3c.tar.gz
Fix double free().
Reported by: Coverity Coverity CID: 1130048
-rw-r--r--lib/libnv/nvpair.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/libnv/nvpair.c b/lib/libnv/nvpair.c
index a6a2a00..916444f 100644
--- a/lib/libnv/nvpair.c
+++ b/lib/libnv/nvpair.c
@@ -683,10 +683,8 @@ nvpair_unpack(int flags, const unsigned char *ptr, size_t *leftp,
if (ptr == NULL)
goto failed;
tmp = realloc(nvp, sizeof(*nvp) + strlen(nvp->nvp_name) + 1);
- if (tmp == NULL) {
- free(nvp);
+ if (tmp == NULL)
goto failed;
- }
nvp = tmp;
/* Update nvp_name after realloc(). */
nvp->nvp_name = (char *)(nvp + 1);
OpenPOWER on IntegriCloud