diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-10-06 15:57:49 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-10-06 15:57:49 +0000 |
commit | 8985564814f493bd6af68a8657d00724227b1c23 (patch) | |
tree | 9f28985e8ebf79b464194e91e6d95737bdd6a682 | |
parent | a94a60758721600b0ea2751f6c9f30abbfb96e92 (diff) |
ensure that the private structure for pseudo channels is created without 'leaking' configuration data from other configured channels
(closes issue #13555)
Reported by: jeffg
Patches:
issue_13555.patch uploaded by kpfleming (license 421)
Tested by: jeffg
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@146643 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | channels/chan_dahdi.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 91160f170..476a24c62 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -11650,14 +11650,13 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct /*< \todo why check for the pseudo in the per-channel section. * Any actual use for manual setup of the pseudo channel? */ if (!found_pseudo && reload == 0) { - /* Make sure pseudo isn't a member of any groups if - we're automatically making it. */ - - confp->chan.group = 0; - confp->chan.callgroup = 0; - confp->chan.pickupgroup = 0; + /* use the default configuration for a channel, so + that any settings from real configured channels + don't "leak" into the pseudo channel config + */ + struct dahdi_chan_conf conf = dahdi_chan_conf_default(); - tmp = mkintf(CHAN_PSEUDO, confp, NULL, reload); + tmp = mkintf(CHAN_PSEUDO, &conf, NULL, reload); if (tmp) { if (option_verbose > 2) |