--- silc-client-1.1-beta3/lib/silcutil/silcfileutil.c.bak 2007-05-13 18:30:37.000000000 +0300 +++ silc-client-1.1-beta3/lib/silcutil/silcfileutil.c 2007-05-15 22:57:18.287698781 +0300 @@ -83,7 +83,11 @@ int silc_file_writefile(const char *file } #ifdef SILC_UNIX - fsync(fd); + if (fsync(fd) != 0) { + SILC_LOG_ERROR(("Cannot fsync file %s: %s", filename, strerror(errno))); + silc_file_close(fd); + return -1; + } #endif /* SILC_UNIX */ return silc_file_close(fd); @@ -115,7 +119,11 @@ int silc_file_writefile_mode(const char } #ifdef SILC_UNIX - fsync(fd); + if (fsync(fd) != 0) { + SILC_LOG_ERROR(("Cannot fsync file %s: %s", filename, strerror(errno))); + silc_file_close(fd); + return -1; + } #endif /* SILC_UNIX */ return silc_file_close(fd);