diff options
Diffstat (limited to 'source3')
| -rw-r--r-- | source3/groupdb/mapping_tdb.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/source3/groupdb/mapping_tdb.c b/source3/groupdb/mapping_tdb.c index cf9f9058af..9adde40426 100644 --- a/source3/groupdb/mapping_tdb.c +++ b/source3/groupdb/mapping_tdb.c @@ -394,6 +394,7 @@ static NTSTATUS one_alias_membership(const DOM_SID *member,  	char *string_sid;  	TDB_DATA dbuf;  	const char *p; +	NTSTATUS status;  	TALLOC_CTX *frame;  	slprintf(key, sizeof(key), "%s%s", MEMBEROF_PREFIX, @@ -414,14 +415,15 @@ static NTSTATUS one_alias_membership(const DOM_SID *member,  			continue;  		if (!add_sid_to_array_unique(NULL, &alias, sids, num)) { -			TALLOC_FREE(frame); -			return NT_STATUS_NO_MEMORY; +			status = NT_STATUS_NO_MEMORY; +			goto done;  		}  	} +done:  	TALLOC_FREE(frame);  	SAFE_FREE(dbuf.dptr); -	return NT_STATUS_OK; +	return status;  }  static NTSTATUS alias_memberships(const DOM_SID *members, size_t num_members,  | 
