Avoid potential single byte overread in asn1_parse2().
authorjsing <jsing@openbsd.org>
Sat, 12 Feb 2022 03:07:24 +0000 (03:07 +0000)
committerjsing <jsing@openbsd.org>
Sat, 12 Feb 2022 03:07:24 +0000 (03:07 +0000)
commit5404b1211a613d4f12762b93d5f0c447b92ffed6
tree0cff4d3128e72631fa8eccaa87f05472af02b060
parent6aa8ab8764e491862e1faa63c586cc9d234b7b3e
Avoid potential single byte overread in asn1_parse2().

A fix for this was previously commited in r1.32, however while this added
a bounds check the logic means we still fall through and perform the
overread. Fix the logic such that we only log the error if the bounds check
fails. While here, flip the test around such that we check for validity then
print (which is more readable and matches earlier code).

ok inoguchi@ tb@
lib/libcrypto/asn1/asn1_par.c