diff options
-rw-r--r-- | src/lib/libcrypto/bn/bn_lib.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/libcrypto/bn/bn_lib.c b/src/lib/libcrypto/bn/bn_lib.c index c0c0ac876f..b59e65a1e1 100644 --- a/src/lib/libcrypto/bn/bn_lib.c +++ b/src/lib/libcrypto/bn/bn_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: bn_lib.c,v 1.90 2023/07/28 10:35:14 tb Exp $ */ | 1 | /* $OpenBSD: bn_lib.c,v 1.91 2024/04/15 14:35:25 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -438,6 +438,9 @@ BN_clear_bit(BIGNUM *a, int n) | |||
438 | 438 | ||
439 | a->d[i] &= (~(((BN_ULONG)1) << j)); | 439 | a->d[i] &= (~(((BN_ULONG)1) << j)); |
440 | bn_correct_top(a); | 440 | bn_correct_top(a); |
441 | |||
442 | BN_set_negative(a, a->neg); | ||
443 | |||
441 | return (1); | 444 | return (1); |
442 | } | 445 | } |
443 | LCRYPTO_ALIAS(BN_clear_bit); | 446 | LCRYPTO_ALIAS(BN_clear_bit); |
@@ -476,6 +479,9 @@ BN_mask_bits(BIGNUM *a, int n) | |||
476 | a->d[w] &= ~(BN_MASK2 << b); | 479 | a->d[w] &= ~(BN_MASK2 << b); |
477 | } | 480 | } |
478 | bn_correct_top(a); | 481 | bn_correct_top(a); |
482 | |||
483 | BN_set_negative(a, a->neg); | ||
484 | |||
479 | return (1); | 485 | return (1); |
480 | } | 486 | } |
481 | LCRYPTO_ALIAS(BN_mask_bits); | 487 | LCRYPTO_ALIAS(BN_mask_bits); |