aboutsummaryrefslogtreecommitdiff
path: root/cddl/contrib/opensolaris
diff options
context:
space:
mode:
Diffstat (limited to 'cddl/contrib/opensolaris')
-rw-r--r--cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c b/cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c
index 21a0149861be..a452ca5960a7 100644
--- a/cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c
+++ b/cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c
@@ -229,8 +229,12 @@ parse_fun(char *cp, iidesc_t *ii)
nargs++;
if (nargs > FUNCARG_DEF)
args = xrealloc(args, sizeof (tdesc_t *) * nargs);
- if (!(cp = read_tid(cp, &args[nargs - 1])))
+ if (!(cp = read_tid(cp, &args[nargs - 1]))) {
+ if (tdp->t_type == TYPEDEF_UNRES)
+ free(tdp);
+ free(args);
return (-1);
+ }
}
ii->ii_type = iitype;