]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
chan_dadhi: Fix setvar in dahdi channels
authorGuido Falsi <madpilot@FreeBSD.org>
Thu, 18 Jun 2020 10:14:26 +0000 (12:14 +0200)
committerJoshua Colp <jcolp@sangoma.com>
Fri, 19 Jun 2020 14:12:13 +0000 (09:12 -0500)
The change to how setvar works for various channels performed in
ASTERISK~23756 missed some required change in the dahdi channel,
where the variables are actually set while reading configuration.
This change should fix the issue.

ASTERISK-28955

Change-Id: Ibfeb7f8cbdd735346dc4028de6a265f24f9df274

channels/chan_dahdi.c

index 3da5f5ef6cf629feaa77a409ea4d05d489626bd0..fd71aec9dcbca265bc931fd047df56ed3585a99b 100644 (file)
@@ -18271,8 +18271,10 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct
                                if ((varval = strchr(varname, '='))) {
                                        *varval++ = '\0';
                                        if ((tmpvar = ast_variable_new(varname, varval, ""))) {
-                                               tmpvar->next = confp->chan.vars;
-                                               confp->chan.vars = tmpvar;
+                                               if (ast_variable_list_replace(&confp->chan.vars, tmpvar)) {
+                                                       tmpvar->next = confp->chan.vars;
+                                                       confp->chan.vars = tmpvar;
+                                               }
                                        }
                                }
                        }