Prevent 1-byte out-of-bounds read in i2c_ASN1_BIT_STRING
authortb <tb@openbsd.org>
Fri, 13 Jan 2023 14:46:08 +0000 (14:46 +0000)
committertb <tb@openbsd.org>
Fri, 13 Jan 2023 14:46:08 +0000 (14:46 +0000)
commit1cbbcd438e8558d8fc1c3d49d771aa37fe5372cb
treea4c201cd8263860b8031813e8f903be633a7d4fa
parentc2c8bb799164eb861beedddf7c4be1bf0e960ca2
Prevent 1-byte out-of-bounds read in i2c_ASN1_BIT_STRING

If an ASN.1 BIT STRING a of length > 0 contains only zero bytes in a->data,
this old code would end up reading from a->data[-1]. This may or may not
crash. Luckily, anton observed two openssl-ruby regress test failures in
the last few days, which could eventually be traced back to this (after a
lot of painful digging due to coredumps not working properly).

ok jsing
lib/libcrypto/asn1/a_bitstr.c