aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-sdp.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-02-17 18:25:22 +0000
committerMichael Mann <mmann78@netscape.net>2013-02-17 18:25:22 +0000
commit823493b9273a86e7cc0b5ac0209c54478a761b63 (patch)
tree5c344f7cca629fdf40dc0ac0b4f2a50d8811a0da /epan/dissectors/packet-sdp.c
parent010c8f9d610a74db3bf5da47f513c5688504e26e (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.c5
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)