Merged revisions 219586 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Sat, 19 Sep 2009 02:59:52 +0000 (02:59 +0000)
committerRussell Bryant <russell@russellbryant.com>
Sat, 19 Sep 2009 02:59:52 +0000 (02:59 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r219586 | russell | 2009-09-18 21:51:13 -0500 (Fri, 18 Sep 2009) | 6 lines

  Make sure the iax_pvt exists before dereferencing it.

  This fixes the latest crash posted on issue 15609.

  (issue #15609)
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@219587 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_iax2.c

index 700e9b5..8125588 100644 (file)
@@ -9546,7 +9546,7 @@ static int socket_process(struct iax2_thread *thread)
                 * this connection yet. */
                if ((dcallno != 1) && (fr->callno = find_callno(ntohs(mh->callno) & ~IAX_FLAG_FULL, dcallno, &sin, NEW_PREVENT, fd, 1))) {
                        ast_mutex_lock(&iaxsl[fr->callno]);
-                       if (ast_test_flag64(iaxs[fr->callno], IAX_ENCRYPTED)) {
+                       if (iaxs[fr->callno] && ast_test_flag64(iaxs[fr->callno], IAX_ENCRYPTED)) {
                                if (decrypt_frame(fr->callno, fh, &f, &res)) {
                                        ast_log(LOG_NOTICE, "Packet Decrypt Failed!\n");
                                        ast_mutex_unlock(&iaxsl[fr->callno]);