diff options
author | Jeff Peeler <jpeeler@digium.com> | 2009-08-17 16:50:45 +0000 |
---|---|---|
committer | Jeff Peeler <jpeeler@digium.com> | 2009-08-17 16:50:45 +0000 |
commit | 36b38525a168716efb22a8f1da00d3dec88156d4 (patch) | |
tree | 67fd361d9b7667de07ade448f31e4457a303e2d2 /channels | |
parent | 4222e1c3674a5940ac99d1602a27811ff2321ae6 (diff) |
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/trunk@212506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r-- | channels/misdn_config.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/channels/misdn_config.c b/channels/misdn_config.c index 7318326f6..7d55a17bb 100644 --- a/channels/misdn_config.c +++ b/channels/misdn_config.c @@ -1035,6 +1035,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)); } |