diff options
-rw-r--r-- | source3/utils/net_rpc_samsync.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/source3/utils/net_rpc_samsync.c b/source3/utils/net_rpc_samsync.c index 44c95f9509..323f67cc5a 100644 --- a/source3/utils/net_rpc_samsync.c +++ b/source3/utils/net_rpc_samsync.c @@ -324,12 +324,12 @@ static void display_sam_entry(struct netr_DELTA_ENUM *r) } } -static void dump_database(struct rpc_pipe_client *pipe_hnd, - enum netr_SamDatabaseID database_id) +static NTSTATUS dump_database(struct rpc_pipe_client *pipe_hnd, + enum netr_SamDatabaseID database_id) { - NTSTATUS result; + NTSTATUS result; int i; - TALLOC_CTX *mem_ctx; + TALLOC_CTX *mem_ctx; const char *logon_server = pipe_hnd->desthost; const char *computername = global_myname(); struct netr_Authenticator credential; @@ -341,7 +341,7 @@ static void dump_database(struct rpc_pipe_client *pipe_hnd, ZERO_STRUCT(return_authenticator); if (!(mem_ctx = talloc_init("dump_database"))) { - return; + return NT_STATUS_NO_MEMORY; } switch(database_id) { @@ -380,7 +380,7 @@ static void dump_database(struct rpc_pipe_client *pipe_hnd, if (!netlogon_creds_client_check(pipe_hnd->dc, &return_authenticator.cred)) { DEBUG(0,("credentials chain check failed\n")); - return; + return NT_STATUS_ACCESS_DENIED; } if (NT_STATUS_IS_ERR(result)) { @@ -405,6 +405,8 @@ static void dump_database(struct rpc_pipe_client *pipe_hnd, } while (NT_STATUS_EQUAL(result, STATUS_MORE_ENTRIES)); talloc_destroy(mem_ctx); + + return result; } /* dump sam database via samsync rpc calls */ |