Fix for CVE-2009-2813.
[samba.git] / source3 / param / loadparm.c
index b278b9616d0857cb0a4eaa43319d87737174cada..b1f2a4aeb576648874e0f1bae1ebd4cbdce859d9 100644 (file)
@@ -6156,6 +6156,11 @@ bool lp_add_home(const char *pszHomename, int iDefaultService,
 {
        int i;
 
+       if (pszHomename == NULL || user == NULL || pszHomedir == NULL ||
+                       pszHomedir[0] == '\0') {
+               return false;
+       }
+
        i = add_a_service(ServicePtrs[iDefaultService], pszHomename);
 
        if (i < 0)
@@ -8127,7 +8132,7 @@ static void lp_add_auto_services(char *str)
 
                home = get_user_home_dir(talloc_tos(), p);
 
-               if (home && homes >= 0)
+               if (home && home[0] && homes >= 0)
                        lp_add_home(p, homes, p, home);
 
                TALLOC_FREE(home);