diff options
Diffstat (limited to 'epan/dissectors/packet-sdp.c')
-rw-r--r-- | epan/dissectors/packet-sdp.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/epan/dissectors/packet-sdp.c b/epan/dissectors/packet-sdp.c index 5e206d29f9..6c1c2f8c5e 100644 --- a/epan/dissectors/packet-sdp.c +++ b/epan/dissectors/packet-sdp.c @@ -1740,6 +1740,12 @@ setup_sdp_transport(tvbuff_t *tvb, packet_info *pinfo, enum sdp_exchange_type ex if (exchange_type != SDP_EXCHANGE_OFFER) se_tree_insert32(sdp_transport_rsps, pinfo->fd->num, (void *)transport_info); + /* Offer has already been rejected and hash tables freed, so + * don't try to add to it + * XXX - Need to support "modified offers" */ + if (transport_info->sdp_status == SDP_EXCHANGE_ANSWER_REJECT) + return; + if (transport_info->media_count > 0) start_transport_info_count = transport_info->media_count; @@ -2150,7 +2156,7 @@ dissect_sdp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (transport_info == &local_transport_info) convert_disposable_media(transport_info, &media_info, 0); - for (n = 0; n < transport_info->media_count; n++) + for (n = 0; n < local_transport_info.media_count; n++) { set_rtp = FALSE; |