]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] fix queryperf integer overflow
authorEvan Hunt <each@isc.org>
Wed, 15 Jan 2014 00:56:23 +0000 (16:56 -0800)
committerEvan Hunt <each@isc.org>
Wed, 15 Jan 2014 00:56:23 +0000 (16:56 -0800)
3706. [contrib] queryperf: Fixed a possible integer overflow when
printing results. [RT #35182]

CHANGES
contrib/queryperf/queryperf.c

diff --git a/CHANGES b/CHANGES
index 46e486fb68f73c01555f57a5c7abccd69bf6ce76..b619125c9f2f5680f01f8b487b00817d8ca77561 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3706.  [contrib]       queryperf: Fixed a possible integer overflow when
+                       printing results. [RT #35182]
+
 3705.  [func]          "configure --enable-native-pkcs11" enables BIND
                        to use the PKCS#11 API for all cryptographic
                        functions, so that it can drive a hardware service
index 6b153271ae8e99fee48a4e4393416e1f145c1e93..0738cc2903043edfd155072cab2e287ffa0e38c2 100644 (file)
@@ -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;