summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
index 323eaa33525b..c37af1a8307c 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
@@ -13346,8 +13346,11 @@ dtrace_dof_property(const char *name)
data += strlen(name) + 1; /* skip past the '=' */
len = eol - data;
+ if (len % 2 != 0) {
+ dtrace_dof_error(NULL, "invalid DOF encoding length");
+ goto doferr;
+ }
bytes = len / 2;
-
if (bytes < sizeof(dof_hdr_t)) {
dtrace_dof_error(NULL, "truncated header");
goto doferr;