diff options
author | Michael Adam <obnox@samba.org> | 2008-01-09 00:11:31 +0100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2008-01-09 01:47:10 +0100 |
commit | 6b2b9a60ef857ec31da5fea631535205fbdede4a (patch) | |
tree | d06ffae304aef1d00f299e2b3364abb8ba95d586 /source/groupdb | |
parent | 3f89aea8e4df3a2de8c5e4c6f4e417567adb2d67 (diff) | |
download | samba-6b2b9a60ef857ec31da5fea631535205fbdede4a.tar.gz samba-6b2b9a60ef857ec31da5fea631535205fbdede4a.tar.xz samba-6b2b9a60ef857ec31da5fea631535205fbdede4a.zip |
Convert add_sid_to_array() add_sid_to_array_unique() to return NTSTATUS.
Michael
Diffstat (limited to 'source/groupdb')
-rw-r--r-- | source/groupdb/mapping_ldb.c | 16 | ||||
-rw-r--r-- | source/groupdb/mapping_tdb.c | 9 |
2 files changed, 15 insertions, 10 deletions
diff --git a/source/groupdb/mapping_ldb.c b/source/groupdb/mapping_ldb.c index ea467775983..05056eabd20 100644 --- a/source/groupdb/mapping_ldb.c +++ b/source/groupdb/mapping_ldb.c @@ -398,8 +398,8 @@ static NTSTATUS one_alias_membership(const DOM_SID *member, goto failed; } string_to_sid(&alias, (char *)el->values[0].data); - if (!add_sid_to_array_unique(NULL, &alias, sids, num)) { - status = NT_STATUS_NO_MEMORY; + status = add_sid_to_array_unique(NULL, &alias, sids, num); + if (!NT_STATUS_IS_OK(status)) { goto failed; } } @@ -492,6 +492,7 @@ static NTSTATUS enum_aliasmem(const DOM_SID *alias, DOM_SID **sids, size_t *num) NULL }; int ret, i; + NTSTATUS status; struct ldb_result *res=NULL; struct ldb_dn *dn; struct ldb_message_element *el; @@ -524,14 +525,15 @@ static NTSTATUS enum_aliasmem(const DOM_SID *alias, DOM_SID **sids, size_t *num) for (i=0;i<el->num_values;i++) { DOM_SID sid; string_to_sid(&sid, (const char *)el->values[i].data); - if (!add_sid_to_array_unique(NULL, &sid, sids, num)) { - talloc_free(dn); - return NT_STATUS_NO_MEMORY; + status = add_sid_to_array_unique(NULL, &sid, sids, num); + if (!NT_STATUS_IS_OK(status)) { + goto done; } } - talloc_free(dn); - return NT_STATUS_OK; +done: + talloc_free(dn); + return status; } /* diff --git a/source/groupdb/mapping_tdb.c b/source/groupdb/mapping_tdb.c index 9adde40426a..21a4f95383b 100644 --- a/source/groupdb/mapping_tdb.c +++ b/source/groupdb/mapping_tdb.c @@ -414,8 +414,8 @@ static NTSTATUS one_alias_membership(const DOM_SID *member, if (!string_to_sid(&alias, string_sid)) continue; - if (!add_sid_to_array_unique(NULL, &alias, sids, num)) { - status = NT_STATUS_NO_MEMORY; + status= add_sid_to_array_unique(NULL, &alias, sids, num); + if (!NT_STATUS_IS_OK(status)) { goto done; } } @@ -560,7 +560,10 @@ static int collect_aliasmem(TDB_CONTEXT *tdb_ctx, TDB_DATA key, TDB_DATA data, if (!string_to_sid(&member, member_string)) continue; - if (!add_sid_to_array(NULL, &member, closure->sids, closure->num)) { + if (!NT_STATUS_IS_OK(add_sid_to_array(NULL, &member, + closure->sids, + closure->num))) + { /* talloc fail. */ break; } |