3c995f30e7
c2i_ASN1_BIT_STRING takes length as a long but uses it as an int. Check bounds before doing so. Previously, excessively large inputs to the function could write a single byte outside the target buffer. (This is unreachable as asn1_ex_c2i already uses int for the length.) Thanks to NCC for finding this issue. Change-Id: I7ae42214ca620d4159fa01c942153717a7647c65 Reviewed-on: https://boringssl-review.googlesource.com/19204 Reviewed-by: Martin Kreichgauer <martinkr@google.com> Commit-Queue: Martin Kreichgauer <martinkr@google.com> CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> |
||
---|---|---|
.. | ||
a_bitstr.c | ||
a_bool.c | ||
a_d2i_fp.c | ||
a_dup.c | ||
a_enum.c | ||
a_gentm.c | ||
a_i2d_fp.c | ||
a_int.c | ||
a_mbstr.c | ||
a_object.c | ||
a_octet.c | ||
a_print.c | ||
a_strnid.c | ||
a_time.c | ||
a_type.c | ||
a_utctm.c | ||
a_utf8.c | ||
asn1_lib.c | ||
asn1_locl.h | ||
asn1_par.c | ||
asn1_test.cc | ||
asn_pack.c | ||
charmap.pl | ||
CMakeLists.txt | ||
f_enum.c | ||
f_int.c | ||
f_string.c | ||
tasn_dec.c | ||
tasn_enc.c | ||
tasn_fre.c | ||
tasn_new.c | ||
tasn_typ.c | ||
tasn_utl.c | ||
time_support.c |