]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
channels: Don't dereference NULL pointer
authorJasper van der Neut <jasper@isotopic.nl>
Wed, 23 Sep 2020 09:05:39 +0000 (11:05 +0200)
committerGeorge Joseph <gjoseph@digium.com>
Wed, 30 Sep 2020 13:25:52 +0000 (08:25 -0500)
Check result of ast_translator_build_path against NULL before dereferencing.

ASTERISK-29091

Change-Id: Ia3538ea190bd371f70c9dd49984b021765691b29

main/channel.c

index 276c1bc5c02a64b8d8dfffac28d4842286b02002..d75c615583a369c08692c3793176933b82b2a10d 100644 (file)
@@ -5709,11 +5709,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;