From e33c8a7050450a7f2c90623fc3dd5520cb0db85b Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Fri, 31 Oct 2008 16:26:27 +0000 Subject: Ticket #673: Crash in SRTP transport when receiving stray RTP/RTCP packet git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2360 74dad513-b988-da41-8d7b-12977e46ad98 --- pjmedia/src/pjmedia/transport_srtp.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'pjmedia/src') diff --git a/pjmedia/src/pjmedia/transport_srtp.c b/pjmedia/src/pjmedia/transport_srtp.c index a3378923..4b04e699 100644 --- a/pjmedia/src/pjmedia/transport_srtp.c +++ b/pjmedia/src/pjmedia/transport_srtp.c @@ -798,7 +798,12 @@ static void srtp_rtp_cb( void *user_data, void *pkt, pj_ssize_t size) err_status_t err; if (srtp->bypass_srtp) { - srtp->rtp_cb(srtp->user_data, pkt, size); + /* Callback may be NULL if we receive stray packets (or when packet + * is received while we're being detached/re-attached). + */ + if (srtp->rtp_cb) { + srtp->rtp_cb(srtp->user_data, pkt, size); + } return; } @@ -858,6 +863,9 @@ static void srtp_rtcp_cb( void *user_data, void *pkt, pj_ssize_t size) err_status_t err; if (srtp->bypass_srtp) { + /* Callback may be NULL if we receive stray packets (or when packet + * is received while we're being detached/re-attached). + */ srtp->rtcp_cb(srtp->user_data, pkt, size); return; } -- cgit v1.2.3