channels: Don't dereference NULL pointer

Check result of ast_translator_build_path against NULL before dereferencing.

ASTERISK-29091

Change-Id: Ia3538ea190bd371f70c9dd49984b021765691b29
This commit is contained in:
Jasper van der Neut 2020-09-23 11:05:39 +02:00 committed by Friendly Automation
parent 14b483dd5e
commit efcc6d6f6b
1 changed files with 6 additions and 2 deletions

View File

@ -5721,11 +5721,15 @@ static int set_format(struct ast_channel *chan, struct ast_format_cap *cap_set,
if (!direction) {
/* reading */
trans_pvt = ast_translator_build_path(best_set_fmt, best_native_fmt);
trans_pvt->interleaved_stereo = 0;
if (trans_pvt) {
trans_pvt->interleaved_stereo = 0;
}
} else {
/* writing */
trans_pvt = ast_translator_build_path(best_native_fmt, best_set_fmt);
trans_pvt->interleaved_stereo = interleaved_stereo;
if (trans_pvt) {
trans_pvt->interleaved_stereo = interleaved_stereo;
}
}
access->set_trans(chan, trans_pvt);
res = trans_pvt ? 0 : -1;