Page MenuHomeFreeBSD

D57976.id.diff
No OneTemporary

D57976.id.diff

diff --git a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
--- a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
@@ -14276,6 +14276,18 @@
return (-1);
}
+ if (sec->dofs_offset < sizeof (dof_hdr_t)) {
+ dtrace_dof_error(dof, "section overlaps header");
+ return (-1);
+ }
+
+ if (sec->dofs_offset + sec->dofs_size > dof->dofh_secoff &&
+ sec->dofs_offset < dof->dofh_secoff +
+ dof->dofh_secnum * dof->dofh_secsize) {
+ dtrace_dof_error(dof, "invalid section offset");
+ return (-1);
+ }
+
if (sec->dofs_type == DOF_SECT_STRTAB && *((char *)daddr +
sec->dofs_offset + sec->dofs_size - 1) != '\0') {
dtrace_dof_error(dof, "non-terminating string table");

File Metadata

Mime Type
text/plain
Expires
Wed, Sep 2, 8:11 PM (18 h, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34577703
Default Alt Text
D57976.id.diff (837 B)

Event Timeline