~mdw
/
sgt
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bump version number prior to tagging 0.63.
[sgt/putty]
/
sshbn.c
diff --git
a/sshbn.c
b/sshbn.c
index
cbd710d
..
a5e0552
100644
(file)
--- a/
sshbn.c
+++ b/
sshbn.c
@@
-607,6
+607,7
@@
static void internal_add_shifted(BignumInt *number,
addend = (BignumDblInt)n << bshift;
while (addend) {
addend = (BignumDblInt)n << bshift;
while (addend) {
+ assert(word <= number[0]);
addend += number[word];
number[word] = (BignumInt) addend & BIGNUM_INT_MASK;
addend >>= BIGNUM_INT_BITS;
addend += number[word];
number[word] = (BignumInt) addend & BIGNUM_INT_MASK;
addend >>= BIGNUM_INT_BITS;
@@
-1322,6
+1323,12
@@
int bignum_cmp(Bignum a, Bignum b)
int amax = a[0], bmax = b[0];
int i;
int amax = a[0], bmax = b[0];
int i;
+ /* Annoyingly we have two representations of zero */
+ if (amax == 1 && a[amax] == 0)
+ amax = 0;
+ if (bmax == 1 && b[bmax] == 0)
+ bmax = 0;
+
assert(amax == 0 || a[amax] != 0);
assert(bmax == 0 || b[bmax] != 0);
assert(amax == 0 || a[amax] != 0);
assert(bmax == 0 || b[bmax] != 0);