Author: mimir
Date: 2006-12-13 23:35:50 +0000 (Wed, 13 Dec 2006)
New Revision: 20161

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20161

Log:
Prevent potential segfault in case account is unknown.


rafal


Modified:
   branches/SAMBA_4_0/source/libnet/libnet_lookup.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_lookup.c
===================================================================
--- branches/SAMBA_4_0/source/libnet/libnet_lookup.c    2006-12-13 22:19:10 UTC 
(rev 20160)
+++ branches/SAMBA_4_0/source/libnet/libnet_lookup.c    2006-12-13 23:35:50 UTC 
(rev 20161)
@@ -418,14 +418,18 @@
 
                        /* 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;
+                       if (sids->count > 0) {
+                               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;
+                       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.sidstr     = dom_sid_string(mem_ctx, 
&io->out.domain_sid);
+                       }
                }
 
                io->out.error_string = talloc_strdup(mem_ctx, "Success");

Reply via email to