Sadly, I spoke too quickly... Here's the corrected patch, which also
fixes tc/paretonormal.c :-(
lamont
#! /bin/sh /usr/share/dpatch/dpatch-run
## normal.dpatch by LaMont Jones <[EMAIL PROTECTED]>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Correct calloc call in normal to avoid running off the end of the
## DP: table.
@DPATCH@
diff -urNad iproute-20041019/tc/normal.c
/tmp/dpep.9YHbob/iproute-20041019/tc/normal.c
--- iproute-20041019/tc/normal.c 2004-10-19 14:49:02.000000000 -0600
+++ /tmp/dpep.9YHbob/iproute-20041019/tc/normal.c 2005-09-06
15:48:45.000000000 -0600
@@ -26,7 +26,7 @@
double x, *table;
int i, n;
- table = calloc(sizeof(double), TABLESIZE);
+ table = calloc(TABLESIZE+1, sizeof(double));
if (!table) {
fprintf(stderr, "Not enough memory\n");
return 1;
diff -urNad iproute-20041019/tc/paretonormal.c
/tmp/dpep.9YHbob/iproute-20041019/tc/paretonormal.c
--- iproute-20041019/tc/paretonormal.c 2004-10-19 14:49:02.000000000 -0600
+++ /tmp/dpep.9YHbob/iproute-20041019/tc/paretonormal.c 2005-09-06
15:49:01.000000000 -0600
@@ -54,7 +54,7 @@
double *table;
int i,n;
- table = calloc(TABLESIZE, sizeof(double));
+ table = calloc(TABLESIZE+1, sizeof(double));
if (!table) {
fprintf(stderr, "Out of memory!\n");
exit(1);