Durch eine fehlerhafte Abfrage in bigint_add kann ein Overflow bei der
Addition zweier bigint-Zahlen nicht abgefangen werden und es entsteht ein
Buffer Overflow.
Nachfolgender Patch korrigiert diesen Bug.
--- ../dtaus-0.7/bigint.c 2001-11-18 00:12:42.000000000 +0100
+++ ./bigint.c 2005-08-14 01:36:13.000000000 +0200
@@ -34,7 +34,7 @@
tmp = a.val[i] + b.val[i];
if (tmp >= BIGINT_MAX) {
c.val[i] = tmp - BIGINT_MAX;
- if (i<BIGINT_LEN)
+ if (i<BIGINT_LEN-1)
a.val[i+1]++;
else
fprintf(stderr, "Overflow in bigint addition.");
Received on Mon, 15 Aug 2005 18:19:40 +0200
This archive was generated by hypermail 2.1.8 : Mon Aug 15 2005 - 18:20:19 CEST