aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-17 16:52:43 +0000
committerjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-17 16:52:43 +0000
commit3ad6834e6d24390a9f2e388102eac8c709faf7f7 (patch)
treeadd427112d4c7f24bda82402dab64d747464b0f7 /channels
parent13d5e03718fdbc2458bc4633a440248985a2d649 (diff)
Merged revisions 212506 via svnmerge from
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: http://svn.digium.com/svn/asterisk/branches/1.6.2@212509 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/misdn_config.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/channels/misdn_config.c b/channels/misdn_config.c
index f965b5a55..8aa9a0acf 100644
--- a/channels/misdn_config.c
+++ b/channels/misdn_config.c
@@ -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));
}