r16361: Fix Klocwork ID 1731 1770 1771 1775 1796
authorVolker Lendecke <vlendec@samba.org>
Mon, 19 Jun 2006 19:41:56 +0000 (19:41 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:18:49 +0000 (11:18 -0500)
Volker
(This used to be commit 8a5cebc19e4709399976efe9e3ba3bf29249620a)

source3/nsswitch/winbindd_ads.c
source3/nsswitch/winbindd_cache.c
source3/nsswitch/winbindd_cm.c
source3/nsswitch/winbindd_misc.c

index 3ed651f8cdcffe82a75dea028897439b1ff63852..250b5f3b8c2784bdb462e39e886b408e6f0d7968 100644 (file)
@@ -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;
                
index ba69d41392e577228806e5836c8381be7a64a0a6..e078c295e172bc2296a16b70ab6649b96e3d547b 100644 (file)
@@ -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);
index b24ed842de3bf745e9a10d1dce81fa59d6d6bc36..ea4d8503c1b15e957cd86e4daedc35681deb1c29 100644 (file)
@@ -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<num_dcs; i++) {
index 9413a79abaa5bf7846031956a896d9f808098964..6c6dc5b7651cc60bfc8fbb13128f09c1950b0e26 100644 (file)
@@ -158,7 +158,10 @@ enum winbindd_result winbindd_dual_list_trusted_domains(struct winbindd_domain *
        /* This is a bit excessive, but the extra data sooner or later will be
           talloc'ed */
 
-       extra_data_len = strlen(extra_data);
+       extra_data_len = 0;
+       if (extra_data != NULL) {
+               extra_data_len = strlen(extra_data);
+       }
 
        if (extra_data_len > 0) {
                state->response.extra_data.data = SMB_STRDUP(extra_data);