Snort mailing list archives
Potential for division by zero in file 'util.c' function TimeStop:
From: Bill Parker <wp02855 () gmail com>
Date: Mon, 12 Oct 2015 09:53:01 -0700
Hello All,
In running Snort 2.9.8.0 Beta/RC through clang-analyzer, it
returned a potential for a division by zero at lines 1071-1073
in file 'util.c', function 'TimeStop'. The issue could occur where
mins is 1, hrs is 0, days = 0, and the value for total_secs is 60
and SECONDS_PER_MIN is 60, which 60/60 = 0, which would result in
a division by zero error.
if ( mins > 0 || hrs > 0 || days > 0 )
{
uint64_t n = (pc.total_from_daq / (total_secs / SECONDS_PER_MIN));
I know this is unlikely to occur, as snort would have to be started
and stopped in exactly 60 seconds, but perhaps it should be written
as this:
if ( mins > 0 || hrs > 0 || days > 0 )
{
if (total_secs != SECONDS_PER_MIN)
{
uint64_t n = (pc.total_from_daq / (total_secs / SECONDS_PER_MIN));
}
else /* total_secs and SECONDS_PER_MIN are 60 */
{
uint64_t n = (pc.total_from_daq / SECONDS_PER_MIN);
}
}
This would elininate the potential for the division by zero occuring at
all, would it not?
The same issue could occur in TimeStop where total_secs is equal to
SECONDS_PER_HOUR at lines 1065-1069, and where total_secs is equal to
SECONDS_PER_DAY at lines 1059-1063.
Bill
------------------------------------------------------------------------------
_______________________________________________ Snort-devel mailing list Snort-devel () lists sourceforge net https://lists.sourceforge.net/lists/listinfo/snort-devel Archive: http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel Please visit http://blog.snort.org for the latest news about Snort!
Current thread:
- Potential for division by zero in file 'util.c' function TimeStop: Bill Parker (Oct 12)
- Re: Potential for division by zero in file 'util.c' function TimeStop: Kaushal Bhandankar (kbhandan) (Oct 15)
