]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Don't crash on INFO automon request with no channel
authorTerry Wilson <twilson@digium.com>
Thu, 8 Dec 2011 16:17:46 +0000 (16:17 +0000)
committerTerry Wilson <twilson@digium.com>
Thu, 8 Dec 2011 16:17:46 +0000 (16:17 +0000)
AST-2011-014. When automon was enabled in features.conf, it was possible
to crash Asterisk by sending an INFO request if no channel had been
created yet.

(closes issue ASTERISK-18805)

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

channels/chan_sip.c

index 310a69e6554d2e173c84ff03c05a2e52a201da2c..243efe5120a89f1da0dd3d616f0ea92fac2badbf 100644 (file)
@@ -17417,11 +17417,18 @@ static void handle_request_info(struct sip_pvt *p, struct sip_request *req)
                        per device. I don't want incoming callers to record calls in my
                        pbx.
                */
-               /* first, get the feature string, if it exists */
+               
                struct ast_call_feature *feat;
                int j;
                struct ast_frame f = { AST_FRAME_DTMF, };
 
+               if (!p->owner) {        /* not a PBX call */
+                       transmit_response(p, "481 Call leg/transaction does not exist", req);
+                       sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
+                       return;
+               }
+
+               /* first, get the feature string, if it exists */
                ast_rdlock_call_features();
                feat = ast_find_call_feature("automon");
                if (!feat || ast_strlen_zero(feat->exten)) {