r16209: Klocwork bug #66, ensure no null deref.
authorJeremy Allison <jra@samba.org>
Tue, 13 Jun 2006 21:21:44 +0000 (21:21 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:17:25 +0000 (11:17 -0500)
Jeremy.

source/auth/auth_util.c

index 43ae5c1af65b42595d257cd12ef3c1ae4b9a911e..fb21d424c5ff5f8c8eeec3f92638e3fdf74d364c 100644 (file)
@@ -1082,6 +1082,7 @@ NTSTATUS create_token_from_username(TALLOC_CTX *mem_ctx, const char *username,
                /* This is a passdb user, so ask passdb */
 
                struct samu *sam_acct = NULL;
+               const DOM_SID *gr_sid = NULL;
 
                if ( !(sam_acct = samu_new( tmp_ctx )) ) {
                        goto done;
@@ -1094,7 +1095,13 @@ NTSTATUS create_token_from_username(TALLOC_CTX *mem_ctx, const char *username,
                        goto done;
                }
 
-               sid_copy(&primary_group_sid, pdb_get_group_sid(sam_acct));
+               gr_sid = pdb_get_group_sid(sam_acct);
+               if (!gr_sid) {
+                       result = NT_STATUS_NO_MEMORY;
+                       goto done;
+               }
+
+               sid_copy(&primary_group_sid, gr_sid);
 
                if (!sid_to_gid(&primary_group_sid, gid)) {
                        DEBUG(1, ("sid_to_gid(%s) failed\n",