diff options
Diffstat (limited to 'cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c')
-rw-r--r-- | cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c | 4 |
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; |