Fix for CVE-2009-2813.
[samba.git] / source / param / loadparm.c
index 4fc0c06a9761f8c4ca5565f2d04822c25b082b15..71a0e7b361dd36250d5181773d80ee2b8a18fb25 100644 (file)
@@ -2655,6 +2655,11 @@ BOOL lp_add_home(const char *pszHomename, int iDefaultService,
        int i;
        pstring newHomedir;
 
+       if (pszHomename == NULL || user == NULL || pszHomedir == NULL ||
+                       pszHomedir[0] == '\0') {
+               return False;
+       }
+
        i = add_a_service(ServicePtrs[iDefaultService], pszHomename);
 
        if (i < 0)
@@ -4135,7 +4140,7 @@ static void lp_add_auto_services(char *str)
                if (lp_servicenumber(p) >= 0)
                        continue;
 
-               if (home && homes >= 0)
+               if (home && home[0] && homes >= 0)
                        lp_add_home(p, homes, p, home);
        }
        SAFE_FREE(s);