diff options
Diffstat (limited to 'cddl/contrib')
-rw-r--r-- | cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c | 6 |
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; |