Rewrite BN_{asc,dec,hex}2bn() using CBS.
authorjsing <jsing@openbsd.org>
Sun, 28 May 2023 10:34:17 +0000 (10:34 +0000)
committerjsing <jsing@openbsd.org>
Sun, 28 May 2023 10:34:17 +0000 (10:34 +0000)
commit6603e9973dc571c11ca5d9da4201f58571839d7d
tree68f1e6763ad9e89e6c0e22153615e02474a49165
parent8a41a05780ca279e3767b313b18c4d9f81e0649a
Rewrite BN_{asc,dec,hex}2bn() using CBS.

This gives us more readable and safer code. There are two intentional
changes to behaviour - firstly, all three functions zero any BN that was
passed in, prior to doing any further processing. This means that a passed
BN is always in a known state, regardless of what happens later. Secondly,
BN_asc2bn() now fails on NULL input, rather than crashing. This brings its
behaviour inline with BN_dec2bn() and BN_hex2bn().

ok tb@
lib/libcrypto/bn/bn_convert.c