Wireshark-commits: [Wireshark-commits] master-2.0 ca2c9c8: reassemble: remove special treatment for
From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Thu, 14 Apr 2016 23:32:09 +0000 (UTC)
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(-)