diff options
author | otto <> | 2003-09-25 19:53:59 +0000 |
---|---|---|
committer | otto <> | 2003-09-25 19:53:59 +0000 |
commit | b2faba93ca8a0634c3af02d30651d3d4e81b019a (patch) | |
tree | 0c965cb7ed823a8b6e0c2d9d3f83af623430417d /src | |
parent | 23e56282d50b1b5d7c331bccc6df913fa29b0cc2 (diff) | |
download | openbsd-b2faba93ca8a0634c3af02d30651d3d4e81b019a.tar.gz openbsd-b2faba93ca8a0634c3af02d30651d3d4e81b019a.tar.bz2 openbsd-b2faba93ca8a0634c3af02d30651d3d4e81b019a.zip |
Add extra calls to bn_fix_top() in BN_cmp(), since some functions may
leave an invalid BN.
ok markus@ deraadt@
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/bn/bn_lib.c | 3 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/bn/bn_lib.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/libcrypto/bn/bn_lib.c b/src/lib/libcrypto/bn/bn_lib.c index 463463cfcb..5e530d9474 100644 --- a/src/lib/libcrypto/bn/bn_lib.c +++ b/src/lib/libcrypto/bn/bn_lib.c | |||
@@ -702,6 +702,9 @@ int BN_cmp(const BIGNUM *a, const BIGNUM *b) | |||
702 | { gt=1; lt= -1; } | 702 | { gt=1; lt= -1; } |
703 | else { gt= -1; lt=1; } | 703 | else { gt= -1; lt=1; } |
704 | 704 | ||
705 | bn_fix_top(a); | ||
706 | bn_fix_top(b); | ||
707 | |||
705 | if (a->top > b->top) return(gt); | 708 | if (a->top > b->top) return(gt); |
706 | if (a->top < b->top) return(lt); | 709 | if (a->top < b->top) return(lt); |
707 | for (i=a->top-1; i>=0; i--) | 710 | for (i=a->top-1; i>=0; i--) |
diff --git a/src/lib/libssl/src/crypto/bn/bn_lib.c b/src/lib/libssl/src/crypto/bn/bn_lib.c index 463463cfcb..5e530d9474 100644 --- a/src/lib/libssl/src/crypto/bn/bn_lib.c +++ b/src/lib/libssl/src/crypto/bn/bn_lib.c | |||
@@ -702,6 +702,9 @@ int BN_cmp(const BIGNUM *a, const BIGNUM *b) | |||
702 | { gt=1; lt= -1; } | 702 | { gt=1; lt= -1; } |
703 | else { gt= -1; lt=1; } | 703 | else { gt= -1; lt=1; } |
704 | 704 | ||
705 | bn_fix_top(a); | ||
706 | bn_fix_top(b); | ||
707 | |||
705 | if (a->top > b->top) return(gt); | 708 | if (a->top > b->top) return(gt); |
706 | if (a->top < b->top) return(lt); | 709 | if (a->top < b->top) return(lt); |
707 | for (i=a->top-1; i>=0; i--) | 710 | for (i=a->top-1; i>=0; i--) |