You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jk...@apache.org on 2014/08/14 14:15:32 UTC
svn commit: r1617913 - /httpd/httpd/trunk/support/ab.c
Author: jkaluza
Date: Thu Aug 14 12:15:31 2014
New Revision: 1617913
URL: http://svn.apache.org/r1617913
Log:
* support/ab.c: Fix crash caused by integer overflow when printing stats with
lot of requests (for example -n 500000000).
Modified:
httpd/httpd/trunk/support/ab.c
Modified: httpd/httpd/trunk/support/ab.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/support/ab.c?rev=1617913&r1=1617912&r2=1617913&view=diff
==============================================================================
--- httpd/httpd/trunk/support/ab.c (original)
+++ httpd/httpd/trunk/support/ab.c Thu Aug 14 12:15:31 2014
@@ -1029,7 +1029,7 @@ static void output_results(int sig)
ap_round_ms(stats[done - 1].time));
else
printf(" %d%% %5" APR_TIME_T_FMT "\n", percs[i],
- ap_round_ms(stats[(int) (done * percs[i] / 100)].time));
+ ap_round_ms(stats[(unsigned long)done * percs[i] / 100].time));
}
}
if (csvperc) {
@@ -1046,7 +1046,7 @@ static void output_results(int sig)
else if (i == 100)
t = ap_double_ms(stats[done - 1].time);
else
- t = ap_double_ms(stats[(int) (0.5 + done * i / 100.0)].time);
+ t = ap_double_ms(stats[(unsigned long) (0.5 + (double)done * i / 100.0)].time);
fprintf(out, "%d,%.3f\n", i, t);
}
fclose(out);