diff options
author | Geoff Thorpe <geoff@openssl.org> | 2003-11-06 23:13:04 +0000 |
---|---|---|
committer | Geoff Thorpe <geoff@openssl.org> | 2003-11-06 23:13:04 +0000 |
commit | 18f62d4b82cc3101f3e1ae026c5e077193cfca5b (patch) | |
tree | 76f13466c620dbebf7c3800eb79d2b06805bbaf6 /crypto/bn/bn_shift.c | |
parent | 5c0c22803e7bf96f96507d875f782eb283b718e7 (diff) | |
download | openssl-18f62d4b82cc3101f3e1ae026c5e077193cfca5b.tar.gz |
Add debug-screening of input parameters to some functions I'd missed
before.
Diffstat (limited to 'crypto/bn/bn_shift.c')
-rw-r--r-- | crypto/bn/bn_shift.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/crypto/bn/bn_shift.c b/crypto/bn/bn_shift.c index 513e686f86..69c03570bd 100644 --- a/crypto/bn/bn_shift.c +++ b/crypto/bn/bn_shift.c @@ -65,6 +65,9 @@ int BN_lshift1(BIGNUM *r, const BIGNUM *a) register BN_ULONG *ap,*rp,t,c; int i; + bn_check_top(r); + bn_check_top(a); + if (r != a) { r->neg=a->neg; @@ -98,6 +101,9 @@ int BN_rshift1(BIGNUM *r, const BIGNUM *a) BN_ULONG *ap,*rp,t,c; int i; + bn_check_top(r); + bn_check_top(a); + if (BN_is_zero(a)) { BN_zero(r); @@ -129,6 +135,9 @@ int BN_lshift(BIGNUM *r, const BIGNUM *a, int n) BN_ULONG *t,*f; BN_ULONG l; + bn_check_top(r); + bn_check_top(a); + r->neg=a->neg; nw=n/BN_BITS2; if (bn_wexpand(r,a->top+nw+1) == NULL) return(0); @@ -162,6 +171,9 @@ int BN_rshift(BIGNUM *r, const BIGNUM *a, int n) BN_ULONG *t,*f; BN_ULONG l,tmp; + bn_check_top(r); + bn_check_top(a); + nw=n/BN_BITS2; rb=n%BN_BITS2; lb=BN_BITS2-rb; |