Avoid potential divide by zero in BIO_dump_indent_cb()
authorjsing <jsing@openbsd.org>
Mon, 17 Oct 2022 18:26:41 +0000 (18:26 +0000)
committerjsing <jsing@openbsd.org>
Mon, 17 Oct 2022 18:26:41 +0000 (18:26 +0000)
commit5c1da4cc236aa2154e350666b58ec8ac3f46f0ea
treeda5ef774adefa395d1aa6e61e82e20c5d69a7c53
parentbb014f8014ffbae7e1ce8b381b786179c49d10de
Avoid potential divide by zero in BIO_dump_indent_cb()

Passing an indent value of 67 results in DUMP_WIDTH_LESS_IDENT returning a
value of zero, which is promptly used for division. Likewise, passing a
value larger than 67 results in a negative value being returned.

Prevent this by limiting indent to 64 (which matches OpenSSL's current
behaviour), as well as ensuring that dump_width is > 0.

Should fix oss-fuzz #52464 and #52467.

ok miod@ tb@
lib/libcrypto/bio/b_dump.c