URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=961f1388e443b5b08594ec7e9a8d9628f039d4d0
Submitter: "Michael Mann <mmann78@xxxxxxxxxxxx>"
Changed: branch: master
Repository: wireshark
Commits:
961f138 by Peter Wu (peter@xxxxxxxxxxxxx):
wiretap: fix truncated reads while reading compressed file formats
A lot of file dissectors (pcapng, json, etc.) assumed that the packet
size is equal to the file size. This is not true if the file was
compressed and could result in silently truncating reads or failing to
open a file (if the compressed file is larger than the actual data).
Observe that a lot of file dissectors are simply copies of each other.
Move the fixed implementation to wtap.c and reuse the methods everywhere
else. While at it, avoid an unnecessary large allocation/read in
ruby_marshal.
Change-Id: I8e9cd0af9c4d1bd37789a3b509146ae2182a5379
Reviewed-on: https://code.wireshark.org/review/30570
Petri-Dish: Peter Wu <peter@xxxxxxxxxxxxx>
Reviewed-by: Dario Lombardo <lomato@xxxxxxxxx>
Tested-by: Dario Lombardo <lomato@xxxxxxxxx>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@xxxxxxxxxxxx>
Actions performed:
from a0bb983 ieee80211: Fix Vendor Specific Fixed Field dissection.
add 961f138 wiretap: fix truncated reads while reading compressed file formats
Summary of changes:
test/suite_fileformats.py | 14 +++++++
wiretap/ber.c | 69 +------------------------------
wiretap/json.c | 72 +++------------------------------
wiretap/json.h | 12 ------
wiretap/mime_file.c | 81 +------------------------------------
wiretap/rfc7468.c | 69 +------------------------------
wiretap/ruby_marshal.c | 101 +++-------------------------------------------
wiretap/tnef.c | 70 +-------------------------------
wiretap/wtap-int.h | 13 ++++++
wiretap/wtap.c | 89 ++++++++++++++++++++++++++++++++++++++++
10 files changed, 136 insertions(+), 454 deletions(-)