Merge of indirection fixes from HEAD.
authorJeremy Allison <jra@samba.org>
Mon, 13 Jan 2003 23:07:26 +0000 (23:07 +0000)
committerJeremy Allison <jra@samba.org>
Mon, 13 Jan 2003 23:07:26 +0000 (23:07 +0000)
Jeremy
(This used to be commit 67a0b30f50aa323185cbcf3a9d39804239222480)

source3/auth/auth_util.c

index dd3f55539fdfb006becab5cb9954a7328e3accc8..0a27e6176d0c3666c9e60e89377c401b8c3439c0 100644 (file)
@@ -681,7 +681,7 @@ static NTSTATUS get_user_groups_from_local_sam(const DOM_SID *user_sid,
                *unix_groups = Realloc(unix_groups, sizeof(gid_t) * n_unix_groups);
                if (sys_getgrouplist(usr->pw_name, usr->pw_gid, *unix_groups, &n_unix_groups) == -1) {
                        DEBUG(0, ("get_user_groups_from_local_sam: failed to get the unix group list\n"));
-                       SAFE_FREE(unix_groups);
+                       SAFE_FREE(*unix_groups);
                        passwd_free(&usr);
                        return NT_STATUS_NO_SUCH_USER; /* what should this return value be? */
                }
@@ -695,7 +695,7 @@ static NTSTATUS get_user_groups_from_local_sam(const DOM_SID *user_sid,
                *groups   = malloc(sizeof(DOM_SID) * n_unix_groups);
                if (!*groups) {
                        DEBUG(0, ("get_user_group_from_local_sam: malloc() failed for DOM_SID list!\n"));
-                       SAFE_FREE(unix_groups);
+                       SAFE_FREE(*unix_groups);
                        return NT_STATUS_NO_MEMORY;
                }
        }
@@ -704,9 +704,9 @@ static NTSTATUS get_user_groups_from_local_sam(const DOM_SID *user_sid,
 
        for (i = 0; i < *n_groups; i++) {
                if (!gid_to_sid(&(*groups)[i], (*unix_groups)[i])) {
-                       DEBUG(1, ("get_user_groups_from_local_sam: failed to convert gid %ld to a sid!\n", (long int)unix_groups[i+1]));
-                       SAFE_FREE(groups);
-                       SAFE_FREE(unix_groups);
+                       DEBUG(1, ("get_user_groups_from_local_sam: failed to convert gid %ld to a sid!\n", (long int)(*unix_groups)[i+1]));
+                       SAFE_FREE(*groups);
+                       SAFE_FREE(*unix_groups);
                        return NT_STATUS_NO_SUCH_USER;
                }
        }