s3:secrets: rewrite secrets_delete_machine_password_ex() using helper variables
authorStefan Metzmacher <metze@samba.org>
Mon, 22 May 2017 10:31:01 +0000 (12:31 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 27 Jun 2017 14:57:45 +0000 (16:57 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12782

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source3/passdb/machine_account_secrets.c

index 2457ac73ab6ef6371c2cdbae1b197ca5a13cada8..56a944246b8d5fc146031b01a52703daa5ea1ff7 100644 (file)
@@ -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;
 }
 
 /************************************************************************