[DTrace-devel] [PATCH 2/2] Fix dt_print_visit() to compile also on OL7
eugene.loh at oracle.com
eugene.loh at oracle.com
Fri Dec 22 02:34:08 UTC 2023
From: Eugene Loh <eugene.loh at oracle.com>
Signed-off-by: Eugene Loh <eugene.loh at oracle.com>
---
libdtrace/dt_printf.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/libdtrace/dt_printf.c b/libdtrace/dt_printf.c
index 409a34df..2658c6a8 100644
--- a/libdtrace/dt_printf.c
+++ b/libdtrace/dt_printf.c
@@ -1979,7 +1979,7 @@ dt_print_visit(const char *name, ctf_id_t type, unsigned long offset,
const void *data = (char *)dva->dv_data + offset/NBBY;
const char *membername = NULL;
ssize_t typesize, asize = 0;
- char *typename = NULL;
+ char typename[DT_TYPE_NAMELEN];
char *datastr = NULL;
int64_t intdata = 0;
const char *ename;
@@ -1998,8 +1998,7 @@ dt_print_visit(const char *name, ctf_id_t type, unsigned long offset,
dva->dv_startindent + depth, "");
return -1;
}
- typename = ctf_type_aname(dva->dv_ctfp, type);
- if (!typename) {
+ if (ctf_type_name(dva->dv_ctfp, type, typename, sizeof(typename)) == NULL) {
dt_dprintf("error retrieving type name for [%ld]: %s\n",
type, ctf_errmsg(ctf_errno(dva->dv_ctfp)));
return dt_set_errno(dva->dv_dtp, EDT_CTF);
@@ -2164,7 +2163,6 @@ dt_print_visit(const char *name, ctf_id_t type, unsigned long offset,
typename, (uintptr_t)*(void **)data);
break;
default:
- free(typename);
return 0;
}
doprint:
@@ -2173,7 +2171,6 @@ doprint:
ret = dt_set_errno(dva->dv_dtp, EDT_NOMEM);
goto err;
}
- free(typename);
/* format is
* [.<membername> = ](<type>)value,
@@ -2231,7 +2228,6 @@ doprint:
}
return 0;
err:
- free(typename);
free(datastr);
return ret;
}
--
2.18.4
More information about the DTrace-devel
mailing list