diff --git a/channels/chan_zap.c b/channels/chan_zap.c index de3f67a741a43d5054826170498e14abf9d6b8ef..c1e276fb2182e1afb16b02f4f448193158350227 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -3750,6 +3750,13 @@ struct ast_frame *zt_read(struct ast_channel *ast) index = zt_get_index(ast, p, 0); + /* Hang up if we don't really exist */ + if (index < 0) { + ast_log(LOG_WARNING, "We dont exist?\n"); + ast_mutex_unlock(&p->lock); + return NULL; + } + p->subs[index].f.frametype = AST_FRAME_NULL; p->subs[index].f.datalen = 0; p->subs[index].f.samples = 0; @@ -3761,13 +3768,6 @@ struct ast_frame *zt_read(struct ast_channel *ast) p->subs[index].f.src = "zt_read"; p->subs[index].f.data = NULL; - /* Hang up if we don't really exist */ - if (index < 0) { - ast_log(LOG_WARNING, "We dont exist?\n"); - ast_mutex_unlock(&p->lock); - return NULL; - } - /* make sure it sends initial key state as first frame */ if (p->radio && (!p->firstradio)) {