diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-11-26 09:23:06 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2015-11-26 08:35:44 +0000 |
commit | 1b32d505a59475d51d9b2bed5f0869d2d154e8b6 (patch) | |
tree | d193a88b181cc6f9622e06c88b9e95df982b16a3 /epan/dissectors/packet-sctp.c | |
parent | 30f46b61bb7cbfbd8fe2ea18bf3c2b026a37969e (diff) |
SCTP: add another NULL dereference check
This is a follow-up of g2259bf8
Change-Id: I4dfb839fcd016a8d7a7210e6358d230025eb96a3
Reviewed-on: https://code.wireshark.org/review/12171
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-sctp.c')
-rw-r--r-- | epan/dissectors/packet-sctp.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/epan/dissectors/packet-sctp.c b/epan/dissectors/packet-sctp.c index 5a81574ee2..0eab044d05 100644 --- a/epan/dissectors/packet-sctp.c +++ b/epan/dissectors/packet-sctp.c @@ -3242,12 +3242,14 @@ dissect_fragmented_payload(tvbuff_t *payload_tvb, packet_info *pinfo, proto_tree cur = wmem_list_tail(pinfo->layers); retval = dissect_payload(new_tvb, pinfo, tree, ppi); cur = wmem_list_frame_next(cur); - tmp = wmem_list_frame_data(cur); - proto_id = GPOINTER_TO_UINT(tmp); - proto_name = proto_get_protocol_filter_name(proto_id); - if(strcmp(proto_name, "data") != 0){ - if (have_tap_listener(exported_pdu_tap)){ - export_sctp_data_chunk(pinfo,payload_tvb, proto_name); + if (cur) { + tmp = wmem_list_frame_data(cur); + proto_id = GPOINTER_TO_UINT(tmp); + proto_name = proto_get_protocol_filter_name(proto_id); + if(strcmp(proto_name, "data") != 0){ + if (have_tap_listener(exported_pdu_tap)){ + export_sctp_data_chunk(pinfo,payload_tvb, proto_name); + } } } return retval; |