diff options
author | Michael Mann <mmann78@netscape.net> | 2013-02-17 18:25:22 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2013-02-17 18:25:22 +0000 |
commit | 823493b9273a86e7cc0b5ac0209c54478a761b63 (patch) | |
tree | 5c344f7cca629fdf40dc0ac0b4f2a50d8811a0da /epan/dissectors/packet-sdp.c | |
parent | 010c8f9d610a74db3bf5da47f513c5688504e26e (diff) |
Only allow one packet to act as an SDP response. This should probably be caught at a higher layer (SIP), but the safety net should be there.
Also, cleanup SIP "response error" range.
Fixes crash in bug 8343 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8343)
svn path=/trunk/; revision=47705
Diffstat (limited to 'epan/dissectors/packet-sdp.c')
-rw-r--r-- | epan/dissectors/packet-sdp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/epan/dissectors/packet-sdp.c b/epan/dissectors/packet-sdp.c index 6c1c2f8c5e..86c7380248 100644 --- a/epan/dissectors/packet-sdp.c +++ b/epan/dissectors/packet-sdp.c @@ -1740,10 +1740,11 @@ 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 + /* Offer has already been answered or 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) + if ((transport_info->sdp_status == SDP_EXCHANGE_ANSWER_REJECT) || + (transport_info->sdp_status == SDP_EXCHANGE_ANSWER_ACCEPT)) return; if (transport_info->media_count > 0) |