SMB: Fix dissection of SMB_COM_TRANSACTION2_SECONDARY (0x33)
authorAlexis La Goutte <alexis.lagoutte@gmail.com>
Sun, 14 May 2017 17:33:12 +0000 (19:33 +0200)
committerMichael Mann <mmann78@netscape.net>
Sun, 14 May 2017 22:01:10 +0000 (22:01 +0000)
Issue reported by Alex
Bug: 13690
Change-Id: I6c0c01569be8474e1cbab0c8ca009c00394e1ffe
Reviewed-on: https://code.wireshark.org/review/21650
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
epan/dissectors/packet-smb.c

index 3c0423f6fcf840e4b8312bb0953eb71453729e67..cb8876a55060151123ecbad9ffab5c96e6877968 100644 (file)
@@ -13857,7 +13857,7 @@ dissect_transaction_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
 
        WORD_COUNT;
 
-       if (wc == 8) {
+       if (wc == 8 || (wc == 9 && si->cmd == SMB_COM_TRANSACTION2_SECONDARY)) {
                /*secondary client request*/
 
                /* total param count, only a 16bit integer here*/
@@ -13898,7 +13898,7 @@ dissect_transaction_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                proto_tree_add_uint(tree, hf_smb_data_disp16, tvb, offset, 2, dd);
                offset += 2;
 
-               if (si->cmd == SMB_COM_TRANSACTION2) {
+               if (si->cmd == SMB_COM_TRANSACTION2 || si->cmd == SMB_COM_TRANSACTION2_SECONDARY) {
                        guint16 fid;
 
                        /* fid */