From 852493ad7ffca8ce87ea4613517b5acd2834b529 Mon Sep 17 00:00:00 2001 From: Alexis La Goutte Date: Wed, 20 Aug 2014 19:05:20 +0200 Subject: TCP/UDP/SCTP: fix Dereference of null pointer found by Clang Analyzer The warning coming after change in g018b84de8 Change-Id: Ia96cdb2993a6283d8de2647c6723ec6b2b0977eb Reviewed-on: https://code.wireshark.org/review/3752 Reviewed-by: Evan Huus --- epan/dissectors/packet-sctp.c | 4 ++++ epan/dissectors/packet-tcp.c | 5 +++++ epan/dissectors/packet-udp.c | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/epan/dissectors/packet-sctp.c b/epan/dissectors/packet-sctp.c index e20c024afc..ca5534ac09 100644 --- a/epan/dissectors/packet-sctp.c +++ b/epan/dissectors/packet-sctp.c @@ -789,6 +789,10 @@ static const char* sctp_conv_get_filter_type(conv_item_t* conv _U_, conv_filter_ if (filter == CONV_FT_ANY_PORT) return "sctp.port"; + if(!conv) { + return CONV_FILTER_INVALID; + } + if (filter == CONV_FT_SRC_ADDRESS) { if (conv->src_address.type == AT_IPv4) return "ip.src"; diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c index 1c993b9ba3..ee16d31086 100644 --- a/epan/dissectors/packet-tcp.c +++ b/epan/dissectors/packet-tcp.c @@ -527,6 +527,7 @@ tcp_both_prompt(packet_info *pinfo, gchar *result) static const char* tcp_conv_get_filter_type(conv_item_t* conv _U_, conv_filter_type_e filter) { + if (filter == CONV_FT_SRC_PORT) return "tcp.srcport"; @@ -536,6 +537,10 @@ static const char* tcp_conv_get_filter_type(conv_item_t* conv _U_, conv_filter_t if (filter == CONV_FT_ANY_PORT) return "tcp.port"; + if(!conv) { + return CONV_FILTER_INVALID; + } + if (filter == CONV_FT_SRC_ADDRESS) { if (conv->src_address.type == AT_IPv4) return "ip.src"; diff --git a/epan/dissectors/packet-udp.c b/epan/dissectors/packet-udp.c index cacd5d9b1e..15ce7bf61b 100644 --- a/epan/dissectors/packet-udp.c +++ b/epan/dissectors/packet-udp.c @@ -292,6 +292,10 @@ static const char* udp_conv_get_filter_type(conv_item_t* conv _U_, conv_filter_t if (filter == CONV_FT_ANY_PORT) return "udp.port"; + if(!conv) { + return CONV_FILTER_INVALID; + } + if (filter == CONV_FT_SRC_ADDRESS) { if (conv->src_address.type == AT_IPv4) return "ip.src"; -- cgit v1.2.1