Clean up and simplify BN_mod_lshift{,_quick}().
authorjsing <jsing@openbsd.org>
Fri, 3 Feb 2023 05:15:40 +0000 (05:15 +0000)
committerjsing <jsing@openbsd.org>
Fri, 3 Feb 2023 05:15:40 +0000 (05:15 +0000)
commitcd283ea46a63d698be310b9584ef82fe753d1414
tree112c7225e9e51c6c6c4cf8d0b689f1cf565c4a2e
parenta4910a1961e266b8884c6b03f79cbdda439932f4
Clean up and simplify BN_mod_lshift{,_quick}().

BN_mod_lshift() already has a BN_CTX available, make use of it rather than
calling BN_dup() and BN_free().

In BN_mod_lshift_quick(), BN_copy() already handles dst == src, so avoid
checking this before the call. The max_shift == 0 case can also be handled
without code duplication. And as with other *_quick() functions, use
BN_ucmp() and BN_usub() directly given the 0 <= a < m constraint.

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