androiddump: Fix tcpdump op prec bug with used_buffer_length calc

androiddump reads data from tcpdump in chunks that not necessarily
match packet sizes. Whenever a partly read packet is found in buffers
more data is read and the number of used bytes in buffer is updated.
The calculation of used_buffer_length is wrong though leading to most
packets are read and thrown away.

Problem fixed by correcting an operator precedence mistake where
used_buffer_length would only be increaded with 0 or 1 insted of
actual number of read bytes.

Change-Id: Ib5c4e1d96e7ba499f26796ffa5d7ce6a116b9a6e
Reviewed-on: https://code.wireshark.org/review/20666
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Mikael Kanstrup 2017-03-22 11:43:43 +01:00 committed by Anders Broman
parent c9bf21cbca
commit bb017f3eb3
1 changed files with 1 additions and 1 deletions

View File

@ -2644,7 +2644,7 @@ static int capture_android_wifi_tcpdump(char *interface, char *fifo,
return EXIT_CODE_GENERIC;
}
if (used_buffer_length += length > 1) {
if ((used_buffer_length += length) > 1) {
break;
}
}