summaryrefslogtreecommitdiff
path: root/src/home
diff options
context:
space:
mode:
Diffstat (limited to 'src/home')
-rw-r--r--src/home/homed-manager.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/home/homed-manager.c b/src/home/homed-manager.c
index 84b5618671..258d2b16ed 100644
--- a/src/home/homed-manager.c
+++ b/src/home/homed-manager.c
@@ -1456,9 +1456,10 @@ static int manager_generate_key_pair(Manager *m) {
return log_error_errno(errno, "Failed to move public key file into place: %m");
temp_public = mfree(temp_public);
- if (rename(temp_private, "/var/lib/systemd/home/local.private") < 0) {
- (void) unlink_noerrno("/var/lib/systemd/home/local.public"); /* try to remove the file we already created */
- return log_error_errno(errno, "Failed to move private key file into place: %m");
+ r = RET_NERRNO(rename(temp_private, "/var/lib/systemd/home/local.private"));
+ if (r < 0) {
+ (void) unlink("/var/lib/systemd/home/local.public"); /* try to remove the file we already created */
+ return log_error_errno(r, "Failed to move private key file into place: %m");
}
temp_private = mfree(temp_private);