diff options
author | Benny Prijono <bennylp@teluu.com> | 2013-01-17 09:45:32 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2013-01-17 09:45:32 +0000 |
commit | f1f0c7d5ffe3508daeb433182bd14a38c7d4034f (patch) | |
tree | 09edfebcba1ba88edb616730b0624221d4185dab | |
parent | 594fe8271a767bb3f680008df50d1d6e44218280 (diff) |
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
-rw-r--r-- | pjnath/src/pjnath/stun_sock.c | 3 |
1 files changed, 3 insertions, 0 deletions
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) { |