Wireshark-commits: [Wireshark-commits] master-2.0 ca2c9c8: reassemble: remove special treatment for
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=ca2c9c868b9390ca09b008c885bc37de284e9eb9
Submitter: Peter Wu (peter@xxxxxxxxxxxxx)
Changed: branch: master-2.0
Repository: wireshark
Commits:
ca2c9c8 by Peter Wu (peter@xxxxxxxxxxxxx):
reassemble: remove special treatment for truncated data
Do not try to recover from truncated tvbs for fragment_add_seq-like
functions:
- If it is the first block and the dissector requested frag_data_len
number of bytes, we should not lie and pretend that we are fully
reassembled.
- For other blocks, returning NULL as no reassembly was possible makes
sense. But other fragments in the list should not be cleared as there
may be partial fragments which were returned before.
It seems that this special behavior was introduced in
b2c11b5e13248b1c98ee5104eab411e842911e19 (freeing fragments and
returning NULL as an optimization when fragments are deemed not needed
anymore) and faeb2c2ee16e61e54c880163e98d6528dd0c5619 (for returning
fd_head for the first fragment, "so the first fragment gets dissected as
fragmented packet").
Now in theory unused fragments could stick around, but that also
possible with the normal fragment_add functions.
Bug: 11799
Change-Id: I20829c54e1b2eee25a91fe4de51b19b1458c7789
Reviewed-on: https://code.wireshark.org/review/14082
Petri-Dish: Peter Wu <peter@xxxxxxxxxxxxx>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@xxxxxxxxxxxxx>
Reviewed-by: Peter Wu <peter@xxxxxxxxxxxxx>
Reviewed-by: Michael Mann <mmann78@xxxxxxxxxxxx>
(cherry picked from commit c5b2c1e8f40cee913bd70fcc00284483b3c92fcd)
Reviewed-on: https://code.wireshark.org/review/14923
Actions performed:
from 711ce57 Qt: Make sure we call proto_initialize_all_prefixes.
adds ca2c9c8 reassemble: remove special treatment for truncated data
Summary of changes:
epan/reassemble.c | 48 +-----------------------------------------------
epan/reassemble.h | 11 -----------
epan/reassemble_test.c | 7 ++++++-
3 files changed, 7 insertions(+), 59 deletions(-)