param: prevent an existing segmentation fault with setting [dos] charset
authorGarming Sam <garming@catalyst.net.nz>
Wed, 5 Mar 2014 20:03:30 +0000 (09:03 +1300)
committerJeremy Allison <jra@samba.org>
Wed, 7 May 2014 17:49:15 +0000 (19:49 +0200)
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/param/loadparm.c

index 479a41eaae45c203cd4003edcd53a31ab97da954..523bf92d20c2ba97f789b4ff3549f88ec9681d69 100644 (file)
@@ -2465,7 +2465,7 @@ static void init_iconv(void)
 
 static bool handle_charset(struct loadparm_context *unused, int snum, const char *pszParmValue, char **ptr)
 {
-       if (strcmp(*ptr, pszParmValue) != 0) {
+       if (*ptr == NULL || strcmp(*ptr, pszParmValue) != 0) {
                string_set(Globals.ctx, ptr, pszParmValue);
                init_iconv();
        }
@@ -2496,7 +2496,7 @@ static bool handle_dos_charset(struct loadparm_context *unused, int snum, const
                }
        }
 
-       if (strcmp(*ptr, pszParmValue) != 0) {
+       if (*ptr == NULL || strcmp(*ptr, pszParmValue) != 0) {
                if (is_utf8) {
                        DEBUG(0,("ERROR: invalid DOS charset: 'dos charset' must not "
                                "be UTF8, using (default value) %s instead.\n",