Reject the packet if data is NULL without doing anything else.

svn path=/trunk/; revision=53735
This commit is contained in:
Chris Maynard 2013-12-02 21:34:23 +00:00
parent ce7b83123c
commit ae2e12d1f7
7 changed files with 35 additions and 20 deletions

View File

@ -354,6 +354,11 @@ dissect_bthcrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
gint offset = 0;
gboolean is_client_message;
/* Reject the packet if data is NULL */
if (data == NULL)
return 0;
l2cap_data = (btl2cap_data_t *) data;
main_item = proto_tree_add_item(tree, proto_bthcrp, tvb, offset, -1, ENC_NA);
main_tree = proto_item_add_subtree(main_item, ett_bthcrp);
@ -372,9 +377,6 @@ dissect_bthcrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
break;
}
l2cap_data = (btl2cap_data_t *) data;
DISSECTOR_ASSERT(l2cap_data);
/* TODO: Implement streams reconizing by SDP
* Server provide SDP record for Control and Data PSM
* Client provide SDP record for Notification PSM (optional)

View File

@ -1164,6 +1164,11 @@ dissect_bthfp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
guint reassemble_start_offset = 0;
guint reassemble_end_offset = 0;
/* Reject the packet if data is NULL */
if (data == NULL)
return 0;
rfcomm_data = (btrfcomm_data_t *) data;
main_item = proto_tree_add_item(tree, proto_bthfp, tvb, 0, -1, ENC_NA);
main_tree = proto_item_add_subtree(main_item, ett_bthfp);
@ -1181,9 +1186,6 @@ dissect_bthfp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
break;
}
rfcomm_data = (btrfcomm_data_t *) data;
DISSECTOR_ASSERT(rfcomm_data);
interface_id = rfcomm_data->interface_id;
adapter_id = rfcomm_data->adapter_id;
chandle = rfcomm_data->chandle;

View File

@ -663,6 +663,11 @@ dissect_bthsp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
guint reassemble_start_offset = 0;
guint reassemble_end_offset = 0;
/* Reject the packet if data is NULL */
if (data == NULL)
return 0;
rfcomm_data = (btrfcomm_data_t *) data;
main_item = proto_tree_add_item(tree, proto_bthsp, tvb, 0, -1, ENC_NA);
main_tree = proto_item_add_subtree(main_item, ett_bthsp);
@ -680,9 +685,6 @@ dissect_bthsp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
break;
}
rfcomm_data = (btrfcomm_data_t *) data;
DISSECTOR_ASSERT(rfcomm_data);
interface_id = rfcomm_data->interface_id;
adapter_id = rfcomm_data->adapter_id;
chandle = rfcomm_data->chandle;

View File

@ -1621,6 +1621,11 @@ dissect_btl2cap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
bthci_acl_data_t *acl_data;
btl2cap_data_t *l2cap_data;
/* Reject the packet if data is NULL */
if (data == NULL)
return 0;
acl_data = (bthci_acl_data_t *) data;
ti = proto_tree_add_item(tree, proto_btl2cap, tvb, offset, -1, ENC_NA);
btl2cap_tree = proto_item_add_subtree(ti, ett_btl2cap);
@ -1639,9 +1644,6 @@ dissect_btl2cap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
break;
}
acl_data = (bthci_acl_data_t *) data;
DISSECTOR_ASSERT(acl_data);
length = tvb_get_letohs(tvb, offset);
proto_tree_add_item(btl2cap_tree, hf_btl2cap_length, tvb, offset, 2, ENC_LITTLE_ENDIAN);
offset += 2;

View File

@ -1411,6 +1411,11 @@ dissect_btobex(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
guint32 k_direction;
guint32 length;
/* Reject the packet if data is NULL */
if (data == NULL)
return 0;
save_fragmented = pinfo->fragmented;
is_obex_over_l2cap = (proto_btrfcomm == (gint) GPOINTER_TO_UINT(wmem_list_frame_data(
@ -1420,7 +1425,6 @@ dissect_btobex(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
btl2cap_data_t *l2cap_data;
l2cap_data = (btl2cap_data_t *) data;
DISSECTOR_ASSERT(l2cap_data);
interface_id = l2cap_data->interface_id;
adapter_id = l2cap_data->adapter_id;
@ -1430,7 +1434,6 @@ dissect_btobex(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
btrfcomm_data_t *rfcomm_data;
rfcomm_data = (btrfcomm_data_t *) data;
DISSECTOR_ASSERT(rfcomm_data);
interface_id = rfcomm_data->interface_id;
adapter_id = rfcomm_data->adapter_id;

View File

@ -582,6 +582,11 @@ dissect_btrfcomm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
btl2cap_data_t *l2cap_data;
service_info_t *service_info = NULL;
/* Reject the packet if data is NULL */
if (data == NULL)
return 0;
l2cap_data = (btl2cap_data_t *) data;
ti = proto_tree_add_item(tree, proto_btrfcomm, tvb, offset, -1, ENC_NA);
rfcomm_tree = proto_item_add_subtree(ti, ett_btrfcomm);
@ -600,9 +605,6 @@ dissect_btrfcomm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
break;
}
l2cap_data = (btl2cap_data_t *) data;
DISSECTOR_ASSERT(l2cap_data);
/* flags and dlci */
offset = dissect_btrfcomm_address(tvb, pinfo, offset, rfcomm_tree, &ea_flag, &cr_flag, &dlci);
/* pf and frame type */

View File

@ -4258,14 +4258,16 @@ dissect_btsdp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
guint16 tid;
btl2cap_data_t *l2cap_data;
/* Reject the packet if data is NULL */
if (data == NULL)
return 0;
l2cap_data = (btl2cap_data_t *) data;
ti = proto_tree_add_item(tree, proto_btsdp, tvb, 0, -1, ENC_NA);
st = proto_item_add_subtree(ti, ett_btsdp);
col_set_str(pinfo->cinfo, COL_PROTOCOL, "SDP");
l2cap_data = (btl2cap_data_t *) data;
DISSECTOR_ASSERT(l2cap_data);
switch (pinfo->p2p_dir) {
case P2P_DIR_SENT:
col_set_str(pinfo->cinfo, COL_INFO, "Sent ");