From f1f0c7d5ffe3508daeb433182bd14a38c7d4034f Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Thu, 17 Jan 2013 09:45:32 +0000 Subject: Fixed #1610: Workaround for reported crash on stun_sock's on_data_recvfrom() callback git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4321 74dad513-b988-da41-8d7b-12977e46ad98 --- pjnath/src/pjnath/stun_sock.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'pjnath') diff --git a/pjnath/src/pjnath/stun_sock.c b/pjnath/src/pjnath/stun_sock.c index 75cf5822..f6b87890 100644 --- a/pjnath/src/pjnath/stun_sock.c +++ b/pjnath/src/pjnath/stun_sock.c @@ -390,6 +390,7 @@ PJ_DEF(pj_status_t) pj_stun_sock_destroy(pj_stun_sock *stun_sock) * stray callback. */ if (stun_sock->active_sock != NULL) { + pj_activesock_set_user_data(stun_sock->active_sock, NULL); pj_activesock_close(stun_sock->active_sock); stun_sock->active_sock = NULL; stun_sock->sock_fd = PJ_INVALID_SOCKET; @@ -765,6 +766,8 @@ static pj_bool_t on_data_recvfrom(pj_activesock_t *asock, pj_uint16_t type; stun_sock = (pj_stun_sock*) pj_activesock_get_user_data(asock); + if (!stun_sock) + return PJ_FALSE; /* Log socket error */ if (status != PJ_SUCCESS) { -- cgit v1.2.3