summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-11-23 12:52:03 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-11-23 12:52:03 -0800
commit5133802c58ef432ab8b289418ee834ba480d74eb (patch)
treeaae71b73f8c2cfd095f20b2e0569a12e8f2173d9 /lib.c
parentc1202a71a068c13a17b69348a6d7736b8855be0c (diff)
downloadtxr-5133802c58ef432ab8b289418ee834ba480d74eb.tar.gz
txr-5133802c58ef432ab8b289418ee834ba480d74eb.tar.bz2
txr-5133802c58ef432ab8b289418ee834ba480d74eb.zip
* lib.c (plus, minus): Fixed wrong assertion which would incorrectly
fire for inputs that do not overflow. * match.c (search_form): Fixed incorrect loop test which could lead to nonterminating behavior. * RELNOTES: Updated.
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib.c b/lib.c
index c1d27c97..1076bb2c 100644
--- a/lib.c
+++ b/lib.c
@@ -733,7 +733,7 @@ val plus(val anum, val bnum)
cnum b = c_num(bnum);
numeric_assert (a <= 0 || b <= 0 || NUM_MAX - b >= a);
- numeric_assert (a >= 0 || b >= 0 || NUM_MIN - b >= a);
+ numeric_assert (a >= 0 || b >= 0 || NUM_MIN - b <= a);
return num(a + b);
}
@@ -745,7 +745,7 @@ val minus(val anum, val bnum)
numeric_assert (b != NUM_MIN || NUM_MIN == -NUM_MAX);
numeric_assert (a <= 0 || -b <= 0 || NUM_MAX + b >= a);
- numeric_assert (a >= 0 || -b >= 0 || NUM_MIN + b >= a);
+ numeric_assert (a >= 0 || -b >= 0 || NUM_MIN + b <= a);
return num(a - b);
}