svn commit: samba r16687 - in branches/SAMBA_3_0/source: lib
nsswitch
jra at samba.org
jra at samba.org
Thu Jun 29 18:01:28 GMT 2006
Author: jra
Date: 2006-06-29 18:01:25 +0000 (Thu, 29 Jun 2006)
New Revision: 16687
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16687
Log:
Fix bugs #3901, #3902, #3903 reported by jason at ncac.gwu.edu.
Jeremy
Modified:
branches/SAMBA_3_0/source/lib/smbldap.c
branches/SAMBA_3_0/source/nsswitch/winbindd_misc.c
branches/SAMBA_3_0/source/nsswitch/winbindd_user.c
Changeset:
Modified: branches/SAMBA_3_0/source/lib/smbldap.c
===================================================================
--- branches/SAMBA_3_0/source/lib/smbldap.c 2006-06-29 18:01:20 UTC (rev 16686)
+++ branches/SAMBA_3_0/source/lib/smbldap.c 2006-06-29 18:01:25 UTC (rev 16687)
@@ -325,7 +325,7 @@
return NULL;
}
- if (pull_utf8_talloc(mem_ctx, &result, values[0]) < 0) {
+ if (pull_utf8_talloc(mem_ctx, &result, values[0]) == (size_t)-1) {
DEBUG(10, ("pull_utf8_talloc failed\n"));
ldap_value_free(values);
return NULL;
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_misc.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_misc.c 2006-06-29 18:01:20 UTC (rev 16686)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_misc.c 2006-06-29 18:01:25 UTC (rev 16687)
@@ -124,6 +124,12 @@
&num_domains, &names,
&alt_names, &sids);
+ if (!NT_STATUS_IS_OK(result)) {
+ DEBUG(3, ("winbindd_dual_list_trusted_domains: trusted_domains returned %s\n",
+ nt_errstr(result) ));
+ num_domains = 0;
+ }
+
extra_data = talloc_strdup(state->mem_ctx, "");
if (num_domains > 0)
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_user.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_user.c 2006-06-29 18:01:20 UTC (rev 16686)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_user.c 2006-06-29 18:01:25 UTC (rev 16687)
@@ -524,7 +524,6 @@
uint32 num_entries;
WINBIND_USERINFO *info;
struct getpwent_user *name_list = NULL;
- BOOL result = False;
struct winbindd_domain *domain;
struct winbindd_methods *methods;
unsigned int i;
@@ -552,12 +551,18 @@
status = methods->query_user_list(domain, mem_ctx, &num_entries,
&info);
+ if (!NT_STATUS_IS_OK(status)) {
+ DEBUG(10,("get_sam_user_entries: query_user_list failed with %s\n",
+ nt_errstr(status) ));
+ return False;
+ }
+
if (num_entries) {
name_list = SMB_REALLOC_ARRAY(name_list, struct getpwent_user, ent->num_sam_entries + num_entries);
if (!name_list) {
DEBUG(0,("get_sam_user_entries realloc failed.\n"));
- goto done;
+ return False;
}
}
@@ -602,11 +607,7 @@
ent->sam_entries = name_list;
ent->sam_entry_index = 0;
- result = ent->num_sam_entries > 0;
-
- done:
-
- return result;
+ return ent->num_sam_entries > 0;
}
/* Fetch next passwd entry from ntdom database */
@@ -757,6 +758,10 @@
status = methods->query_user_list(domain, state->mem_ctx,
&num_entries, &info);
+ if (!NT_STATUS_IS_OK(status)) {
+ continue;
+ }
+
if (num_entries == 0)
continue;
More information about the samba-cvs
mailing list