res_fax: Fix reference leak in fax_v21_session_new.

fax_v21_session_new created a session details object but only released
the allocation reference during error conditions.  fax_session_new adds
it's own reference to details if needed so the caller is always
responsible for cleaning it's own reference.

ASTERISK-26141 #close

Change-Id: Ie7fc52a83b6596ce9ce2d5a2bd9f3e204f48fc88
This commit is contained in:
Corey Farrell
2016-06-22 16:04:54 -04:00
parent dab39a6813
commit 3d904659ec

View File

@@ -2846,11 +2846,8 @@ static struct ast_fax_session *fax_v21_session_new (struct ast_channel *chan) {
}
v21_details->caps = AST_FAX_TECH_V21_DETECT;
if (!(v21_session = fax_session_new(v21_details, chan, NULL, NULL))) {
ao2_ref(v21_details, -1);
return NULL;
}
v21_session = fax_session_new(v21_details, chan, NULL, NULL);
ao2_ref(v21_details, -1);
return v21_session;
}