http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=40967
User: guy
Date: 2012/02/10 11:12 PM
Log:
Don't use 16-bit integers as counters. The code won't be any faster on
anything that can run Wireshark (it might be slower), and if the maximum
count value is 16-bit, you can loop forever if the maximum count value
happens to be 65535.
(Yes, this means that
guint i, j;
...
for (i = 0; i < j; i++)
...
risks looping forever if j is 2^32-1, and the same applies to 64-bit
counters. There are probably fewer protocols with 32-bit counts, and
probably even fewer with 64-bit counts, but the way it should be done in
those cases, for safety, is
i = 0;
for (;;) {
if (i >= j)
break;
...
if (i == j - 1)
break;
}
or something such as that.)
Fixes bug 6809.
#BACKPORT
Will schedule for 1.6.x.
Directory: /trunk/epan/dissectors/
Changes Path Action
+5 -3 packet-ieee80211.c Modified