From: Evan Hunt Date: Wed, 15 Jan 2014 00:58:55 +0000 (-0800) Subject: [v9_6] fix queryperf integer overflow X-Git-Tag: v9.6-ESV-R11rc2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01428a9305cab2953e7130b7bc23e069c5e9f4c2;p=thirdparty%2Fbind9.git [v9_6] fix queryperf integer overflow 3706. [contrib] queryperf: Fixed a possible integer overflow when printing results. [RT #35182] --- diff --git a/CHANGES b/CHANGES index f4aed8e5c1e..f59b64a52f2 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +3706. [contrib] queryperf: Fixed a possible integer overflow when + printing results. [RT #35182] + 3704. [protocol] Accept integer timestamps in RRSIG records. [RT #35185] --- 9.6-ESV-R11rc1 released --- diff --git a/contrib/queryperf/queryperf.c b/contrib/queryperf/queryperf.c index 6b153271ae8..0738cc29030 100644 --- a/contrib/queryperf/queryperf.c +++ b/contrib/queryperf/queryperf.c @@ -2170,12 +2170,21 @@ main(int argc, char **argv) { printf("[Status] Processing input data\n"); while ((sending = keep_sending(&got_eof)) == TRUE || - queries_outstanding() > 0) { - print_interval_statistics(); + queries_outstanding() > 0) + { + if (num_queries_sent_interval > 0){ + /* + * After statistics are printed, send_query() + * needs to be called at least once so that + * time_of_first_query_interval is reset + */ + print_interval_statistics(); + } adjust_rate = FALSE; while ((sending = keep_sending(&got_eof)) == TRUE && - queries_outstanding() < max_queries_outstanding) { + queries_outstanding() < max_queries_outstanding) + { int len = next_input_line(input_line, input_length); if (len == 0) { got_eof = TRUE;