Nmap Development mailing list archives

Re: [PATCH] timing.cc integer overflow


From: Henri Doreau <henri.doreau () gmail com>
Date: Wed, 4 Feb 2009 22:40:54 +0100

Hello,

Thanks for your detailed reply. Here is a new version of the patch. I
removed the remaining days too.

Looks better now, here is the output I get now with your testing code (mine
seems having a bug, shame on me :)) :

0 days elapsed
TEST Timing: About 0.00% done
TEST Timing: About 10.00% done; ETC: 00:00 (0:00:00 remaining)
TEST Timing: About 20.00% done; ETC: 00:00 (0:00:00 remaining)
TEST Timing: About 30.00% done; ETC: 00:00 (0:00:00 remaining)
TEST Timing: About 40.00% done; ETC: 00:00 (0:00:00 remaining)
TEST Timing: About 50.00% done; ETC: 00:00 (0:00:00 remaining)
TEST Timing: About 60.00% done; ETC: 00:00 (0:00:00 remaining)
TEST Timing: About 70.00% done; ETC: 00:00 (0:00:00 remaining)
TEST Timing: About 80.00% done; ETC: 00:00 (0:00:00 remaining)
TEST Timing: About 90.00% done; ETC: 00:00 (0:00:00 remaining)
TEST Timing: About 100.00% done; ETC: 00:00 (0:00:00 remaining)
10 days elapsed
TEST Timing: About 0.00% done
TEST Timing: About 10.00% done; ETC: 23:00 (2160:00:00 remaining)
TEST Timing: About 20.00% done; ETC: 00:00 (960:00:00 remaining)
TEST Timing: About 30.00% done; ETC: 08:00 (560:00:00 remaining)
TEST Timing: About 40.00% done; ETC: 00:00 (360:00:00 remaining)
TEST Timing: About 50.00% done; ETC: 00:00 (240:00:00 remaining)
TEST Timing: About 60.00% done; ETC: 16:00 (160:00:00 remaining)
TEST Timing: About 70.00% done; ETC: 06:51 (102:51:25 remaining)
TEST Timing: About 80.00% done; ETC: 12:00 (60:00:00 remaining)
TEST Timing: About 90.00% done; ETC: 02:40 (26:40:00 remaining)
TEST Timing: About 100.00% done; ETC: 00:00 (0:00:00 remaining)
20 days elapsed
TEST Timing: About 0.00% done
TEST Timing: About 10.00% done; ETC: 23:00 (4320:00:00 remaining)
TEST Timing: About 20.00% done; ETC: 23:00 (1920:00:00 remaining)
TEST Timing: About 30.00% done; ETC: 15:00 (1120:00:00 remaining)
TEST Timing: About 40.00% done; ETC: 00:00 (720:00:00 remaining)
TEST Timing: About 50.00% done; ETC: 00:00 (480:00:00 remaining)
TEST Timing: About 60.00% done; ETC: 08:00 (320:00:00 remaining)
TEST Timing: About 70.00% done; ETC: 13:42 (205:42:51 remaining)
TEST Timing: About 80.00% done; ETC: 00:00 (120:00:00 remaining)
TEST Timing: About 90.00% done; ETC: 05:20 (53:20:00 remaining)
TEST Timing: About 100.00% done; ETC: 00:00 (0:00:00 remaining)
[...]
50 days elapsed
TEST Timing: About 0.00% done
TEST Timing: About 10.00% done; ETC: 21:32 (62:34:48 remaining)
TEST Timing: About 20.00% done; ETC: 10:46 (27:48:48 remaining)
TEST Timing: About 30.00% done; ETC: 23:10 (16:13:28 remaining)
TEST Timing: About 40.00% done; ETC: 17:23 (10:25:48 remaining)
TEST Timing: About 50.00% done; ETC: 13:54 (6:57:12 remaining)
TEST Timing: About 60.00% done; ETC: 11:35 (4:38:08 remaining)
TEST Timing: About 70.00% done; ETC: 09:56 (2:58:48 remaining)
TEST Timing: About 80.00% done; ETC: 08:41 (1:44:18 remaining)
TEST Timing: About 90.00% done; ETC: 07:43 (0:46:21 remaining)
TEST Timing: About 100.00% done; ETC: 06:57 (0:00:00 remaining)

I think that last lines are due to an overflow in the testing code for (days
== 50), as 50 * 86400UL * 1000 > 0xffffffff

   TIMEVAL_MSEC_ADD(tv, tv, days * 86400UL * 1000);


Please find the patch attached.

Cheers


Henri

Attachment: timing.cc.patch
Description:


_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://SecLists.Org

Current thread: