Don't add ERR_R_INTERNAL_ERROR to BN_R_NO_INVERSE.
This was causing some Android breakage. The real bug is actually entirely in Android for getting its error-handling code wrong and not handling multiple errors. I'll fix that. (See b/30917411.) That said, BN_R_NO_INVERSE is a perfectly legitimate reason for those operations to fail, so ERR_R_INTERNAL_ERROR isn't really a right thing to push in front anyway. We're usually happy enough with single-error returns (I'm still a little skeptical of this queue idea), so let's just leave it at that. Change-Id: I469b6e2b5987c6baec343e2cfa52bdcb6dc42879 Reviewed-on: https://boringssl-review.googlesource.com/10483 Commit-Queue: David Benjamin <davidben@google.com> Commit-Queue: Adam Langley <agl@google.com> Reviewed-by: Adam Langley <agl@google.com> CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
This commit is contained in:
parent
8a8349b53e
commit
8fcc755cf5
@ -434,11 +434,9 @@ BIGNUM *BN_mod_inverse(BIGNUM *out, const BIGNUM *a, const BIGNUM *n,
|
||||
|
||||
if (no_branch || !BN_is_odd(n)) {
|
||||
if (!bn_mod_inverse_general(out, &no_inverse, a, n, ctx)) {
|
||||
OPENSSL_PUT_ERROR(BN, ERR_R_INTERNAL_ERROR);
|
||||
goto err;
|
||||
}
|
||||
} else if (!BN_mod_inverse_odd(out, &no_inverse, a, n, ctx)) {
|
||||
OPENSSL_PUT_ERROR(BN, ERR_R_INTERNAL_ERROR);
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user