Merged revisions 296230 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Wed, 24 Nov 2010 23:30:32 +0000 (23:30 +0000)
committerRussell Bryant <russell@russellbryant.com>
Wed, 24 Nov 2010 23:30:32 +0000 (23:30 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r296230 | russell | 2010-11-24 17:29:44 -0600 (Wed, 24 Nov 2010) | 20 lines

  Merged revisions 296221 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2

  ................
    r296221 | russell | 2010-11-24 17:28:19 -0600 (Wed, 24 Nov 2010) | 13 lines

    Merged revisions 296213 via svnmerge from
    https://origsvn.digium.com/svn/asterisk/branches/1.4

    ........
      r296213 | russell | 2010-11-24 17:26:43 -0600 (Wed, 24 Nov 2010) | 6 lines

      Make Asterisk less crashy.

      Since we might not put a new translation path on the channel, go ahead and
      set it to NULL right after destroying the old one to ensure we don't try
      to free an invalid translation path later on.
    ........
  ................
................

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

main/channel.c

index 259a9f3..e6eb214 100644 (file)
@@ -4991,8 +4991,10 @@ static int set_format(struct ast_channel *chan, format_t fmt, format_t *rawforma
        /* User perspective is fmt */
        *format = fmt;
        /* Free any read translation we have right now */
-       if (*trans)
+       if (*trans) {
                ast_translator_free_path(*trans);
+               *trans = NULL;
+       }
        /* Build a translation path from the raw format to the desired format */
        if (*format == *rawformat) {
                /*