Don't crash on INFO automon request with no channel

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)
........

Merged revisions 347530 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@347531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Terry Wilson
2011-12-08 16:19:03 +00:00
parent 406f675a9d
commit d47e5f261f

View File

@@ -18656,11 +18656,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)) {