summaryrefslogtreecommitdiff
path: root/optimize.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2019-10-03 09:27:36 -0700
committerGuy Harris <guy@alum.mit.edu>2019-10-08 10:25:20 -0700
commit7c701e19848dd7cba0604a45a3e666afeac869aa (patch)
tree54ecfa780da580254b160015bb7a847df24b1b0b /optimize.c
parent9742b27e525ed929512e096f2d83f544eb0d1921 (diff)
downloadlibpcap-7c701e19848dd7cba0604a45a3e666afeac869aa.tar.gz
With MSVC, abort if _BitScanForward() returns 0.
It should never return zero, as never pass a value of 0 to lowest_set_bit(), but this should keep Coverity from getting upset (as a result of not understanding _BitScanForward() well enough to realize that if it's passed a non-zero value it will never return 0). Reported by Charles Smith at Tangible Security. (cherry picked from commit 3b9b6100912f7bb1ee43f9cfb51e804765a37bd4)
Diffstat (limited to 'optimize.c')
-rw-r--r--optimize.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/optimize.c b/optimize.c
index 448452d2..2553f0bc 100644
--- a/optimize.c
+++ b/optimize.c
@@ -137,7 +137,7 @@ lowest_set_bit(int mask)
* (It's currently not, in MSVC, even on 64-bit platforms, but....)
*/
if (_BitScanForward(&bit, (unsigned int)mask) == 0)
- return -1; /* mask is zero */
+ abort(); /* mask is zero */
return (int)bit;
}
#elif defined(MSDOS) && defined(__DJGPP__)