diff options
author | Dario Lombardo <lomato@gmail.com> | 2017-12-29 23:36:25 +0100 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-12-30 13:10:45 +0000 |
commit | d17c26eafb44a5d2b9728285e018a6b984d4cb14 (patch) | |
tree | c774d0ef839ac2d2d212e1eeb8251bd9c74af66a /plugins | |
parent | 5daead33aedc5df06da0aacfeb05136fdfd625a0 (diff) |
profinet: add a nested fake variable to avoid null dereference.
CID: 1373682
CID: 1394504
Change-Id: I12ac26aad43ba817f71638605ecd6ad05d1af455
Reviewed-on: https://code.wireshark.org/review/25076
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/profinet/packet-dcerpc-pn-io.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/plugins/profinet/packet-dcerpc-pn-io.c b/plugins/profinet/packet-dcerpc-pn-io.c index dd819866e4..44aa77d092 100644 --- a/plugins/profinet/packet-dcerpc-pn-io.c +++ b/plugins/profinet/packet-dcerpc-pn-io.c @@ -3708,6 +3708,7 @@ dissect_RS_IdentificationInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { dcerpc_info di; /* fake dcerpc_info struct */ + dcerpc_call_value dcv; /* fake dcerpc_call_value struct */ guint64 u64AMDeviceIdentificationDeviceSubID; guint64 u64AMDeviceIdentificationDeviceID; guint64 u64AMDeviceIdentificationVendorID; @@ -3716,6 +3717,8 @@ dissect_RS_IdentificationInfo(tvbuff_t *tvb, int offset, proto_item *sub_item; proto_tree *sub_tree; + di.call_data = &dcv; + sub_item = proto_tree_add_item(tree, hf_pn_io_am_device_identification, tvb, offset, 8, ENC_BIG_ENDIAN); sub_tree = proto_item_add_subtree(sub_item, ett_pn_io_am_device_identification); @@ -4622,6 +4625,7 @@ dissect_AM_device_identification(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { dcerpc_info di; /* fake dcerpc_info struct */ + dcerpc_call_value dcv; /* fake dcerpc_call_value struct */ guint64 u64AMDeviceIdentificationDeviceSubID; guint64 u64AMDeviceIdentificationDeviceID; guint64 u64AMDeviceIdentificationVendorID; @@ -4630,6 +4634,8 @@ packet_info *pinfo, proto_tree *tree, guint8 *drep) proto_item *sub_item; proto_tree *sub_tree; + di.call_data = &dcv; + sub_item = proto_tree_add_item(tree, hf_pn_io_am_device_identification, tvb, offset, 8, ENC_BIG_ENDIAN); sub_tree = proto_item_add_subtree(sub_item, ett_pn_io_am_device_identification); dissect_dcerpc_uint64(tvb, offset, pinfo, sub_tree, &di, drep, |