r20161: Prevent potential segfault in case account is unknown.
authorRafal Szczesniak <mimir@samba.org>
Wed, 13 Dec 2006 23:35:50 +0000 (23:35 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:29:16 +0000 (14:29 -0500)
rafal
(This used to be commit 9f5f9ee9b4b815715c0b580e21ab0906fa15ae96)

source4/libnet/libnet_lookup.c

index b5b8080433fca0ec43bd6ab8ac2e94c06d1f2e7c..fe5851f271de767f333e731b2f51a226984c2d77 100644 (file)
@@ -418,14 +418,18 @@ NTSTATUS libnet_LookupName_recv(struct composite_context *c, TALLOC_CTX *mem_ctx
 
                        /* TODO: verify if returned pointers are non-null */
 
-                       io->out.domain_sid = *domains->domains[0].sid;
-                       io->out.rid        = sids->sids[0].rid;
-                       io->out.sid_type   = sids->sids[0].sid_type;
-
-                       num_auths = io->out.domain_sid.num_auths++;
-                       io->out.domain_sid.sub_auths[num_auths] = io->out.rid;
-
-                       io->out.sidstr     = dom_sid_string(mem_ctx, &io->out.domain_sid);
+                       if (sids->count > 0) {
+                               io->out.rid        = sids->sids[0].rid;
+                               io->out.sid_type   = sids->sids[0].sid_type;
+                       }
+
+                       if (domains->count > 0) {
+                               io->out.domain_sid = *domains->domains[0].sid;
+                               num_auths = io->out.domain_sid.num_auths++;
+                               io->out.domain_sid.sub_auths[num_auths] = io->out.rid;
+
+                               io->out.sidstr     = dom_sid_string(mem_ctx, &io->out.domain_sid);
+                       }
                }
 
                io->out.error_string = talloc_strdup(mem_ctx, "Success");