summaryrefslogtreecommitdiffstats
path: root/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c
diff options
context:
space:
mode:
authormarkj <markj@FreeBSD.org>2017-03-10 18:54:48 +0000
committermarkj <markj@FreeBSD.org>2017-03-10 18:54:48 +0000
commit9a84a0784c84560cfaa7de28b50a582122416246 (patch)
tree7c5e80e256362455ccf0cf00b88c8c55b7ab3533 /cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c
parent9b0c2e7104a8484ee31ce973fdcad8f2fb066d46 (diff)
downloadFreeBSD-src-9a84a0784c84560cfaa7de28b50a582122416246.zip
FreeBSD-src-9a84a0784c84560cfaa7de28b50a582122416246.tar.gz
MFC r314153, r314154:
Fix some memory leaks in CDDL code.
Diffstat (limited to 'cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c')
-rw-r--r--cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c
index 21669c8..a735b66 100644
--- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c
+++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c
@@ -256,8 +256,10 @@ dt_strtab_insert(dt_strtab_t *sp, const char *str)
* Now copy the string data into our buffer list, and then update
* the global counts of strings and bytes. Return str's byte offset.
*/
- if (dt_strtab_copyin(sp, str, len + 1) == -1)
+ if (dt_strtab_copyin(sp, str, len + 1) == -1) {
+ free(hp);
return (-1L);
+ }
sp->str_nstrs++;
sp->str_size += len + 1;
OpenPOWER on IntegriCloud