diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 45ca1320e4..a0b69af1a6 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -11367,11 +11367,10 @@ static int setup_zap(int reload) continue; chans = ast_variable_retrieve(cfg, cat, "zapchan"); if (!ast_strlen_zero(chans)) { - /** \todo At this point we should probably - * duplicate conf, and pass a copy, to prevent - * one section from affecting another - */ - process_zap(&conf, ast_variable_browse(cfg, cat), reload, 0); + struct zt_chan_conf sect_conf; + memcpy(§_conf, &conf, sizeof(sect_conf)); + + process_zap(§_conf, ast_variable_browse(cfg, cat), reload, 0); } } ast_config_destroy(cfg);