Memory leaks and other fixes found by Coverity
[jra/samba/.git] / source3 / winbindd / winbindd_user.c
index e5d0a22a7324e03c905d1832fa526de3121f8f56..5356e16a74d599b8e31f8dcece3ea15c4ca64fd5 100644 (file)
@@ -456,7 +456,7 @@ void winbindd_getpwnam(struct winbindd_cli_state *state)
 
        /* Get info for the domain */
 
-       domain = find_domain_from_name(domname);
+       domain = find_domain_from_name_noinit(domname);
 
        if (domain == NULL) {
                DEBUG(7, ("could not find domain entry for domain %s.  "
@@ -527,7 +527,13 @@ static void getpwuid_recv(void *private_data, bool success, const char *sid)
        DEBUG(10,("uid2sid_recv: uid %lu has sid %s\n",
                  (unsigned long)(state->request.data.uid), sid));
 
-       string_to_sid(&user_sid, sid);
+       if (!string_to_sid(&user_sid, sid)) {
+               DEBUG(1,("uid2sid_recv: Could not convert sid %s "
+                       "from string\n,", sid));
+               request_error(state);
+               return;
+       }
+
        winbindd_getpwsid(state, &user_sid);
 }