summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2019-10-18 23:48:16 +0800
committerMatt Johnston <matt@ucc.asn.au>2019-10-18 23:48:16 +0800
commit7b1b445e7a910d1e4ee99f1073f9771c0efbf42f (patch)
treefd6196624627e837d4e9c4d2b7df7b91640f92fb
parenta666cf61e0bbc3a74d4f267d341cd22af77d8792 (diff)
downloaddropbear-7b1b445e7a910d1e4ee99f1073f9771c0efbf42f.tar.gz
bring back fsync_parent_dir
-rw-r--r--gensignkey.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gensignkey.c b/gensignkey.c
index 8317fea..34b6f5a 100644
--- a/gensignkey.c
+++ b/gensignkey.c
@@ -152,6 +152,10 @@ int signkey_generate(enum signkey_type keytype, int bits, const char* filename,
}
}
+ /* ensure directory update is flushed to disk, otherwise we can end up
+ with zero-byte hostkey files if the power goes off */
+ fsync_parent_dir(filename);
+
out:
if (buf) {
buf_burn(buf);