From dfa4760eeaecb3666c149d9bcdf6f36c18c6f463 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 19 Jun 2006 19:41:56 +0000 Subject: r16361: Fix Klocwork ID 1731 1770 1771 1775 1796 Volker (This used to be commit 8a5cebc19e4709399976efe9e3ba3bf29249620a) --- source3/nsswitch/winbindd_ads.c | 6 +++++- source3/nsswitch/winbindd_cache.c | 3 ++- source3/nsswitch/winbindd_cm.c | 3 +++ source3/nsswitch/winbindd_misc.c | 5 ++++- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/source3/nsswitch/winbindd_ads.c b/source3/nsswitch/winbindd_ads.c index 3ed651f8cd..250b5f3b8c 100644 --- a/source3/nsswitch/winbindd_ads.c +++ b/source3/nsswitch/winbindd_ads.c @@ -904,7 +904,11 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain, members = NULL; num_members = 0; - attrs = TALLOC_ARRAY(mem_ctx, const char *, 3); + if ((attrs = TALLOC_ARRAY(mem_ctx, const char *, 3)) == NULL) { + status = NT_STATUS_NO_MEMORY; + goto done; + } + attrs[1] = talloc_strdup(mem_ctx, "usnChanged"); attrs[2] = NULL; diff --git a/source3/nsswitch/winbindd_cache.c b/source3/nsswitch/winbindd_cache.c index ba69d41392..e078c295e1 100644 --- a/source3/nsswitch/winbindd_cache.c +++ b/source3/nsswitch/winbindd_cache.c @@ -276,7 +276,7 @@ static BOOL centry_sid(struct cache_entry *centry, TALLOC_CTX *mem_ctx, DOM_SID { char *sid_string; sid_string = centry_string(centry, mem_ctx); - if (!string_to_sid(sid, sid_string)) { + if ((sid_string == NULL) || (!string_to_sid(sid, sid_string))) { return False; } return True; @@ -2136,6 +2136,7 @@ void wcache_flush_cache(void) if (!wcache->tdb) { DEBUG(0,("Failed to open winbindd_cache.tdb!\n")); + return; } tdb_traverse(wcache->tdb, traverse_fn_cleanup, NULL); diff --git a/source3/nsswitch/winbindd_cm.c b/source3/nsswitch/winbindd_cm.c index b24ed842de..ea4d8503c1 100644 --- a/source3/nsswitch/winbindd_cm.c +++ b/source3/nsswitch/winbindd_cm.c @@ -723,6 +723,9 @@ static BOOL find_new_dc(TALLOC_CTX *mem_ctx, if ((num_dcnames == 0) || (num_dcnames != num_addrs)) return False; + if ((addrs == NULL) || (dcnames == NULL)) + return False; + if ( !open_any_socket_out(addrs, num_addrs, 10000, &fd_index, fd) ) { for (i=0; i 0) { state->response.extra_data.data = SMB_STRDUP(extra_data); -- cgit