diff options
-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 cf9f9058afc..9adde40426a 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, |