summaryrefslogtreecommitdiffstats
path: root/crypto/bn/bn_word.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2002-10-14 11:33:32 +0000
committerRichard Levitte <levitte@openssl.org>2002-10-14 11:33:32 +0000
commite15ea3d9e1e58a4387c7287110d8834f6db5466c (patch)
treedf7e176bc9b85a67c8eaa725f3869db9a1d5def0 /crypto/bn/bn_word.c
parent677532629d84e39f4cb8edfe017fbfc8120d45d0 (diff)
When BN_add_word() reaches top, it shouldn't try to add the the corresponding
word, since that word may not be zero.
Diffstat (limited to 'crypto/bn/bn_word.c')
-rw-r--r--crypto/bn/bn_word.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/crypto/bn/bn_word.c b/crypto/bn/bn_word.c
index cd59baa2c4..988e0ca7b3 100644
--- a/crypto/bn/bn_word.c
+++ b/crypto/bn/bn_word.c
@@ -123,7 +123,10 @@ int BN_add_word(BIGNUM *a, BN_ULONG w)
i=0;
for (;;)
{
- l=(a->d[i]+(BN_ULONG)w)&BN_MASK2;
+ if (i >= a->top)
+ l=w;
+ else
+ l=(a->d[i]+(BN_ULONG)w)&BN_MASK2;
a->d[i]=l;
if (w > l)
w=1;