Disallow aliasing of return value and modulus
authortb <tb@openbsd.org>
Tue, 13 Jun 2023 09:28:13 +0000 (09:28 +0000)
committertb <tb@openbsd.org>
Tue, 13 Jun 2023 09:28:13 +0000 (09:28 +0000)
commit12ca9b0d048906e4b016bc7e735d97aba545a7f9
tree5e759901cea2c141b694638216521cb638929aba
parent3c52cd979fdcef9aada458e7d2c616510355121b
Disallow aliasing of return value and modulus

All the functions changed in this commit would silently misbehave if the
return value aliases the modulus, most of the time they would succeed and
return an incorrect result of 0 in that situation. This adjusts all the
functions in BN_mod.c, others and documentation will follow later.

Prompted by a bug report about BN_mod_inverse() by Guido Vranken.

ok jsing
lib/libcrypto/bn/bn_mod.c