Skip to content
Snippets Groups Projects
Commit beb0d2e4 authored by Matthew Jordan's avatar Matthew Jordan
Browse files

res_fax_spandsp: Properly handle cleanup before starting FAXes.

If faxing fails at a very early stage, then it is possible for
us to pass a NULL t30 state pointer to spandsp, which spandsp
is none too pleased with.

This patch ensures that we pass the correct pointer to spandsp
in the situation where we have not yet set our local t30 state
pointer.

ASTERISK-24301 #close
Reported by Matt Jordan
Patches:
	ASTERISK-24301-fax.diff Uploaded by Mark Michelson (License #5049)
........

Merged revisions 423360 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/11.6@423426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent e8b716f1
No related branches found
No related tags found
No related merge requests found
......@@ -177,8 +177,25 @@ static void set_ecm(t30_state_t *t30_state, struct ast_fax_session_details *deta
static void session_destroy(struct spandsp_pvt *p)
{
struct ast_frame *f;
t30_state_t *t30_to_terminate;
t30_terminate(p->t30_state);
if (p->t30_state) {
t30_to_terminate = p->t30_state;
} else if (p->ist38) {
#if SPANDSP_RELEASE_DATE >= 20080725
t30_to_terminate = &p->t38_state.t30;
#else
t30_to_terminate = &p->t38_state.t30_state;
#endif
} else {
#if SPANDSP_RELEASE_DATE >= 20080725
t30_to_terminate = &p->fax_state.t30;
#else
t30_to_terminate = &p->fax_state.t30_state;
#endif
}
t30_terminate(t30_to_terminate);
p->isdone = 1;
ast_timer_close(p->timer);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment