summaryrefslogtreecommitdiff
path: root/libcli
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2017-09-10 14:55:13 +0200
committerVolker Lendecke <vl@samba.org>2017-09-25 09:43:12 +0200
commitfa53617542361191c2da7dd9a761cd17af03a312 (patch)
tree28b29dfbacdd9772569f98dc4d86041721313427 /libcli
parent154b28b686f04a933181e510c43444afc67993b8 (diff)
downloadsamba-fa53617542361191c2da7dd9a761cd17af03a312.tar.gz
netlogon_creds_cli: Simplify netlogon_creds_cli_delete
Don't implicitly TALLOC_FREE(creds) in the pure delete routine Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'libcli')
-rw-r--r--libcli/auth/netlogon_creds_cli.c29
-rw-r--r--libcli/auth/netlogon_creds_cli.h2
2 files changed, 16 insertions, 15 deletions
diff --git a/libcli/auth/netlogon_creds_cli.c b/libcli/auth/netlogon_creds_cli.c
index a56a348edd2..f95c97bafb7 100644
--- a/libcli/auth/netlogon_creds_cli.c
+++ b/libcli/auth/netlogon_creds_cli.c
@@ -715,18 +715,14 @@ NTSTATUS netlogon_creds_cli_store(struct netlogon_creds_cli_context *context,
}
NTSTATUS netlogon_creds_cli_delete(struct netlogon_creds_cli_context *context,
- struct netlogon_creds_CredentialState **_creds)
+ struct netlogon_creds_CredentialState *creds)
{
- struct netlogon_creds_CredentialState *creds = *_creds;
NTSTATUS status;
- *_creds = NULL;
-
if (context->db.locked_state == NULL) {
/*
* this was not the result of netlogon_creds_cli_lock*()
*/
- TALLOC_FREE(creds);
return NT_STATUS_INVALID_PAGE_PROTECTION;
}
@@ -734,13 +730,11 @@ NTSTATUS netlogon_creds_cli_delete(struct netlogon_creds_cli_context *context,
/*
* this was not the result of netlogon_creds_cli_lock*()
*/
- TALLOC_FREE(creds);
return NT_STATUS_INVALID_PAGE_PROTECTION;
}
status = dbwrap_delete(context->db.ctx,
context->db.key_data);
- TALLOC_FREE(creds);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
@@ -1470,7 +1464,8 @@ static void netlogon_creds_cli_check_cleanup(struct tevent_req *req,
return;
}
- netlogon_creds_cli_delete(state->context, &state->creds);
+ netlogon_creds_cli_delete(state->context, state->creds);
+ TALLOC_FREE(state->creds);
}
static void netlogon_creds_cli_check_caps(struct tevent_req *subreq);
@@ -1843,7 +1838,8 @@ static void netlogon_creds_cli_ServerPasswordSet_cleanup(struct tevent_req *req,
return;
}
- netlogon_creds_cli_delete(state->context, &state->creds);
+ netlogon_creds_cli_delete(state->context, state->creds);
+ TALLOC_FREE(state->creds);
}
static void netlogon_creds_cli_ServerPasswordSet_done(struct tevent_req *subreq);
@@ -2225,7 +2221,8 @@ static void netlogon_creds_cli_LogonSamLogon_cleanup(struct tevent_req *req,
return;
}
- netlogon_creds_cli_delete(state->context, &state->lk_creds);
+ netlogon_creds_cli_delete(state->context, state->lk_creds);
+ TALLOC_FREE(state->lk_creds);
}
static void netlogon_creds_cli_LogonSamLogon_done(struct tevent_req *subreq);
@@ -2689,7 +2686,8 @@ static void netlogon_creds_cli_DsrUpdateReadOnlyServerDnsRecords_cleanup(struct
return;
}
- netlogon_creds_cli_delete(state->context, &state->creds);
+ netlogon_creds_cli_delete(state->context, state->creds);
+ TALLOC_FREE(state->creds);
}
static void netlogon_creds_cli_DsrUpdateReadOnlyServerDnsRecords_done(struct tevent_req *subreq);
@@ -2955,7 +2953,8 @@ static void netlogon_creds_cli_ServerGetTrustInfo_cleanup(struct tevent_req *req
return;
}
- netlogon_creds_cli_delete(state->context, &state->creds);
+ netlogon_creds_cli_delete(state->context, state->creds);
+ TALLOC_FREE(state->creds);
}
static void netlogon_creds_cli_ServerGetTrustInfo_done(struct tevent_req *subreq);
@@ -3241,7 +3240,8 @@ static void netlogon_creds_cli_GetForestTrustInformation_cleanup(struct tevent_r
return;
}
- netlogon_creds_cli_delete(state->context, &state->creds);
+ netlogon_creds_cli_delete(state->context, state->creds);
+ TALLOC_FREE(state->creds);
}
static void netlogon_creds_cli_GetForestTrustInformation_done(struct tevent_req *subreq);
@@ -3518,7 +3518,8 @@ static void netlogon_creds_cli_SendToSam_cleanup(struct tevent_req *req,
return;
}
- netlogon_creds_cli_delete(state->context, &state->creds);
+ netlogon_creds_cli_delete(state->context, state->creds);
+ TALLOC_FREE(state->creds);
}
static void netlogon_creds_cli_SendToSam_done(struct tevent_req *subreq);
diff --git a/libcli/auth/netlogon_creds_cli.h b/libcli/auth/netlogon_creds_cli.h
index e42f5f76a0f..8f473372760 100644
--- a/libcli/auth/netlogon_creds_cli.h
+++ b/libcli/auth/netlogon_creds_cli.h
@@ -70,7 +70,7 @@ bool netlogon_creds_cli_validate(struct netlogon_creds_cli_context *context,
NTSTATUS netlogon_creds_cli_store(struct netlogon_creds_cli_context *context,
struct netlogon_creds_CredentialState *creds);
NTSTATUS netlogon_creds_cli_delete(struct netlogon_creds_cli_context *context,
- struct netlogon_creds_CredentialState **_creds);
+ struct netlogon_creds_CredentialState *creds);
struct tevent_req *netlogon_creds_cli_lock_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,