From 04384a477bc348d0cd875c2bc27067ec029c2d40 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 22 May 2017 12:31:01 +0200 Subject: [PATCH] s3:secrets: rewrite secrets_delete_machine_password_ex() using helper variables BUG: https://bugzilla.samba.org/show_bug.cgi?id=12782 Signed-off-by: Stefan Metzmacher Reviewed-by: Andreas Schneider (cherry picked from commit 5bc2764fe517748c03a57b61f2f7ef889c92825d) --- source3/passdb/machine_account_secrets.c | 26 ++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/source3/passdb/machine_account_secrets.c b/source3/passdb/machine_account_secrets.c index 2457ac73ab6..56a944246b8 100644 --- a/source3/passdb/machine_account_secrets.c +++ b/source3/passdb/machine_account_secrets.c @@ -377,16 +377,34 @@ bool secrets_fetch_trust_account_password(const char *domain, uint8_t ret_pwd[16 bool secrets_delete_machine_password_ex(const char *domain) { - if (!secrets_delete(machine_prev_password_keystr(domain))) { + const char *tmpkey = NULL; + bool ok; + + tmpkey = machine_prev_password_keystr(domain); + ok = secrets_delete(tmpkey); + if (!ok) { + return false; + } + + tmpkey = machine_password_keystr(domain); + ok = secrets_delete_entry(tmpkey); + if (!ok) { return false; } - if (!secrets_delete_entry(machine_password_keystr(domain))) { + + tmpkey = machine_sec_channel_type_keystr(domain); + ok = secrets_delete_entry(tmpkey); + if (!ok) { return false; } - if (!secrets_delete_entry(machine_sec_channel_type_keystr(domain))) { + + tmpkey = machine_last_change_time_keystr(domain); + ok = secrets_delete_entry(tmpkey); + if (!ok) { return false; } - return secrets_delete_entry(machine_last_change_time_keystr(domain)); + + return true; } /************************************************************************ -- 2.47.2