aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_dahdi.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-10-06 15:57:49 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-10-06 15:57:49 +0000
commit8985564814f493bd6af68a8657d00724227b1c23 (patch)
tree9f28985e8ebf79b464194e91e6d95737bdd6a682 /channels/chan_dahdi.c
parenta94a60758721600b0ea2751f6c9f30abbfb96e92 (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
Diffstat (limited to 'channels/chan_dahdi.c')
-rw-r--r--channels/chan_dahdi.c13
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)