From f83521a4ca26c8b14af1c407c49426d8dd8179f7 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 23 Aug 2012 15:32:05 +0200 Subject: lib/param: fix usage of 'write list = +Group' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit metze Autobuild-User(master): Björn Jacke Autobuild-Date(master): Fri Aug 24 11:28:17 CEST 2012 on sn-devel-104 --- lib/param/loadparm.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lib/param') diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index 4751a06198..38140877e7 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -1355,13 +1355,19 @@ static bool set_variable(TALLOC_CTX *mem_ctx, int parmnum, void *parm_ptr, char **new_list = str_list_make(mem_ctx, pszParmValue, NULL); for (i=0; new_list[i]; i++) { - if (new_list[i][0] == '+' && new_list[i][1]) { + if (*(const char ***)parm_ptr != NULL && + new_list[i][0] == '+' && + new_list[i][1]) + { if (!str_list_check(*(const char ***)parm_ptr, &new_list[i][1])) { *(const char ***)parm_ptr = str_list_add(*(const char ***)parm_ptr, &new_list[i][1]); } - } else if (new_list[i][0] == '-' && new_list[i][1]) { + } else if (*(const char ***)parm_ptr != NULL && + new_list[i][0] == '-' && + new_list[i][1]) + { str_list_remove(*(const char ***)parm_ptr, &new_list[i][1]); } else { -- cgit