libsmbconf: add handling of "NULL" strings to smbconf_add_string_to_array()
authorMichael Adam <obnox@samba.org>
Tue, 15 Apr 2008 11:49:59 +0000 (13:49 +0200)
committerMichael Adam <obnox@samba.org>
Tue, 15 Apr 2008 15:40:27 +0000 (17:40 +0200)
Michael
(This used to be commit aba261a9143bc7ab681b1c57ccfc08da0cffcfe7)

source3/lib/smbconf/smbconf_util.c

index 1a3a0ded44b2fe4df6ca4a129d80941a2689d3b2..20bd51a62bdcfabb909d15b515f1e95fb553b6f4 100644 (file)
@@ -82,7 +82,7 @@ WERROR smbconf_add_string_to_array(TALLOC_CTX *mem_ctx,
 {
        char **new_array = NULL;
 
-       if ((array == NULL) || (string == NULL)) {
+       if (array == NULL) {
                return WERR_INVALID_PARAM;
        }
 
@@ -91,10 +91,14 @@ WERROR smbconf_add_string_to_array(TALLOC_CTX *mem_ctx,
                return WERR_NOMEM;
        }
 
-       new_array[count] = talloc_strdup(new_array, string);
-       if (new_array[count] == NULL) {
-               TALLOC_FREE(new_array);
-               return WERR_NOMEM;
+       if (string == NULL) {
+               new_array[count] = NULL;
+       } else {
+               new_array[count] = talloc_strdup(new_array, string);
+               if (new_array[count] == NULL) {
+                       TALLOC_FREE(new_array);
+                       return WERR_NOMEM;
+               }
        }
 
        *array = new_array;