]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix bad libbxo format strings in jls
authorAlex Richardson <arichardson@FreeBSD.org>
Wed, 4 Nov 2020 14:31:52 +0000 (14:31 +0000)
committerAlex Richardson <arichardson@FreeBSD.org>
Wed, 4 Nov 2020 14:31:52 +0000 (14:31 +0000)
commitd24f17df969107b47af60e5ccc1ed0f1a467fc6f
tree76ed6f43d5e16ce1eeac112c9a4745087836660b
parent4c18532bd0e1d70853f864abf0a03cec3ea8d288
Fix bad libbxo format strings in jls

The existing format string for the empty case was trying to read varargs
values that weren't passed to xo_emit. This appears to work on x86 (since
the next argument is probably a pointer an empty string), but for CHERI
we can bound variadic arguments and detect a read past the end.

While touching these lines also use the libxo 'a' modifier to avoid having to
construct the libxo format string using asprintf.

Found by: CHERI
Reviewed By: allanjude
Differential Revision: https://reviews.freebsd.org/D26885
usr.sbin/jls/jls.c