]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 212506 via svnmerge from
authorJeff Peeler <jpeeler@digium.com>
Mon, 17 Aug 2009 16:52:12 +0000 (16:52 +0000)
committerJeff Peeler <jpeeler@digium.com>
Mon, 17 Aug 2009 16:52:12 +0000 (16:52 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

................
  r212506 | jpeeler | 2009-08-17 11:50:45 -0500 (Mon, 17 Aug 2009) | 19 lines

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

  ........
    r212498 | jpeeler | 2009-08-17 11:34:56 -0500 (Mon, 17 Aug 2009) | 12 lines

    Fix segfault when reloading chan_misdn.

    If more ports were specified than configured in misdn.conf a reload would crash
    asterisk. The problem was the unconfigured port was using data from the
    previously configured port. When the data for an unconfigured port was freed a
    crash would result from the double free.

    (closes issue #12113)
    Reported by: agupta
    Patches:
          bug12113.patch uploaded by jpeeler (license 325)
  ........
................

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

channels/misdn_config.c

index af0eafe71c974d6e8bf4b3e6f9ca300352eee448..28779f78f453a98c584a69bf198018690c9db578 100644 (file)
@@ -1002,6 +1002,11 @@ static void _build_port_config (struct ast_variable *v, char *cat)
        }
 
        for (i = 0; i < (max_ports + 1); ++i) {
+               if (i > 0 && cfg_for_ports[0]) {
+                       /* default category, will populate the port_cfg with additional port
+                       categories in subsequent calls to this function */
+                       memset(cfg_tmp, 0, sizeof(cfg_tmp));
+               }
                if (cfg_for_ports[i]) {
                        memcpy(port_cfg[i], cfg_tmp, sizeof(cfg_tmp));
                }