Merged revisions 50727 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Sat, 13 Jan 2007 06:01:49 +0000 (06:01 +0000)
committerJoshua Colp <jcolp@digium.com>
Sat, 13 Jan 2007 06:01:49 +0000 (06:01 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r50727 | file | 2007-01-13 01:00:24 -0500 (Sat, 13 Jan 2007) | 2 lines

Only write a frame out to the channel if one exists. There are cases where one may not and would therefore cause the channel driver to segfault. (issue #8434 reported by slimey)

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@50728 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/channel.c

index dcdecdf..95639eb 100644 (file)
@@ -2656,8 +2656,10 @@ int ast_write(struct ast_channel *chan, struct ast_frame *fr)
                        /* and now put it through the regular translator */
                        f = (chan->writetrans) ? ast_translate(chan->writetrans, f, 0) : f;
                }
-               
-               res = chan->tech->write(chan, f);
+               if (f)
+                       res = chan->tech->write(chan, f);
+               else
+                       res = 0;
                break;
        case AST_FRAME_NULL:
        case AST_FRAME_IAX: