From c061f634da53715c0aa17a450c1177a14fdf4713 Mon Sep 17 00:00:00 2001 From: Scott Griepentrog Date: Thu, 19 Dec 2013 17:03:20 +0000 Subject: [PATCH] res_fax.c: crash on framehook with no dsp in fax detect In fax_detect_framehook() a null pointer reference can occur where a voice frame is processed but no dsp is attached to the fax detection structure. The code block that rejects frames that detection cannot be processed on is checking for dsp but falls through when it should instead return, as this change implements. (closes issue ASTERISK-22942) Reported by: adomjan Review: https://reviewboard.asterisk.org/r/3076/ ........ Merged revisions 404351 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 404352 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404353 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_fax.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/res_fax.c b/res/res_fax.c index 55bd3c6b74..76fe0ca981 100644 --- a/res/res_fax.c +++ b/res/res_fax.c @@ -3412,7 +3412,7 @@ static struct ast_frame *fax_detect_framehook(struct ast_channel *chan, struct a case AST_FRAME_VOICE: /* we have no DSP this means we not detecting CNG */ if (!faxdetect->dsp) { - break; + return f; } /* We can only process some formats*/ switch (f->subclass.format.id) {