Module Name: src
Committed By: christos
Date: Sat Apr 9 17:51:50 UTC 2016
Modified Files:
src/external/cddl/osnet/dist/common/ctf: ctf_create.c
Log Message:
properly check for type id overflow
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/cddl/osnet/dist/common/ctf/ctf_create.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/cddl/osnet/dist/common/ctf/ctf_create.c
diff -u src/external/cddl/osnet/dist/common/ctf/ctf_create.c:1.5 src/external/cddl/osnet/dist/common/ctf/ctf_create.c:1.6
--- src/external/cddl/osnet/dist/common/ctf/ctf_create.c:1.5 Sun Dec 27 16:39:01 2015
+++ src/external/cddl/osnet/dist/common/ctf/ctf_create.c Sat Apr 9 13:51:50 2016
@@ -616,7 +616,8 @@ ctf_add_generic(ctf_file_t *fp, uint_t f
if (!(fp->ctf_flags & LCTF_RDWR))
return (ctf_set_errno(fp, ECTF_RDONLY));
- if (CTF_INDEX_TO_TYPE(fp->ctf_dtnextid, 1) > CTF_MAX_TYPE)
+ if (!CTF_TYPE_ISCHILD(fp->ctf_dtnextid) ||
+ CTF_INDEX_TO_TYPE(fp->ctf_dtnextid, 1) > CTF_MAX_TYPE)
return (ctf_set_errno(fp, ECTF_FULL));
if ((dtd = ctf_alloc(sizeof (ctf_dtdef_t))) == NULL)