diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index efe1bd3..61b77b0 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -4450,6 +4450,11 @@ static struct iax2_peer *realtime_peer(const char *peername, struct ast_sockaddr ast_variables_destroy(var); + /* peer may be unrefed when checking the peer type */ + if (!peer) { + return NULL; + } + if (ast_test_flag64((&globalflags), IAX_RTCACHEFRIENDS)) { ast_copy_flags64(peer, &globalflags, IAX_RTAUTOCLEAR|IAX_RTCACHEFRIENDS); if (ast_test_flag64(peer, IAX_RTAUTOCLEAR)) {