summaryrefslogtreecommitdiffstats
path: root/crypto/bn/bn_shift.c
diff options
context:
space:
mode:
authorGeoff Thorpe <geoff@openssl.org>2003-11-06 23:13:04 +0000
committerGeoff Thorpe <geoff@openssl.org>2003-11-06 23:13:04 +0000
commit18f62d4b82cc3101f3e1ae026c5e077193cfca5b (patch)
tree76f13466c620dbebf7c3800eb79d2b06805bbaf6 /crypto/bn/bn_shift.c
parent5c0c22803e7bf96f96507d875f782eb283b718e7 (diff)
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.c12
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;