freebsd-dev/cddl/contrib/opensolaris
Domagoj Stolfa 410556f1f1 libctf: Fix an out-of-bounds read in ctf_lookup_by_name()
When prefixes such as struct, union, etc. are compared with the current
type (e.g. struct foo), a comparison is made with the prefix.  The code
currently assumes that every type is a valid C type with a prefix,
however at times, garbage ends up in this function causing an
unpredictable crash with DTrace due to the isspace(*p) call or
subsequent calls. An example that I've seen of this is the letter 's'
being passed in, comparing true with struct as the comparison size was
(q - p) == 1, but then we increment p with the length of "struct",
resulting in an out of bounds read.

Reviewed by:	markj
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D29435
2021-03-27 14:04:12 -04:00
..
cmd dtrace tests: fix prototypes for gcc build 2021-01-10 21:53:15 -08:00
common libctf: Fix an out-of-bounds read in ctf_lookup_by_name() 2021-03-27 14:04:12 -04:00
head MFV r270197: 2014-08-22 22:13:36 +00:00
lib libdtrace: Trivial style fixes to force dt_lex.c to be regenerated 2021-02-19 21:51:18 -05:00
tools/ctf Merge OpenZFS support in to HEAD. 2020-08-25 02:21:27 +00:00
OPENSOLARIS.LICENSE