diff options
-rw-r--r-- | libcontacts_save_contact.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libcontacts_save_contact.c b/libcontacts_save_contact.c index 5e27b85..b82a485 100644 --- a/libcontacts_save_contact.c +++ b/libcontacts_save_contact.c @@ -70,7 +70,13 @@ libcontacts_save_contact(struct libcontacts_contact *contact, const struct passw goto fail; } - close(fd), fd = -1; + if (fsync(fd)) + goto fail; + if (close(fd)) { + fd = -1; + goto fail; + } + fd = -1; if (rename(tmppath, path)) goto fail; |