lib/param: change set_variable to be more consistent with s3 loadparm
authorGarming Sam <garming@catalyst.net.nz>
Tue, 25 Feb 2014 23:06:03 +0000 (12:06 +1300)
committerJeremy Allison <jra@samba.org>
Wed, 7 May 2014 17:49:17 +0000 (19:49 +0200)
Correctly frees CMDLIST memory and uses lp_int instead of atoi.

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
lib/param/loadparm.c

index e2da7c92d2f6646c2de78926515ce83c4a94b9d4..33960da2a7b02247af6a33535bb8db68a9e7c659 100644 (file)
@@ -1441,7 +1441,7 @@ static bool set_variable(TALLOC_CTX *mem_ctx, int parmnum, void *parm_ptr,
                        break;
 
                case P_INTEGER:
-                       *(int *)parm_ptr = atoi(pszParmValue);
+                       *(int *)parm_ptr = lp_int(pszParmValue);
                        break;
 
                case P_CHAR:
@@ -1468,6 +1468,7 @@ static bool set_variable(TALLOC_CTX *mem_ctx, int parmnum, void *parm_ptr,
                }
 
                case P_CMDLIST:
+                       TALLOC_FREE(*(char ***)parm_ptr);
                        *(const char * const **)parm_ptr
                                = (const char * const *)str_list_make(mem_ctx,
                                                                      pszParmValue, NULL);