diff options
| author | Kirk McKusick <mckusick@FreeBSD.org> | 2018-08-27 15:20:42 +0000 |
|---|---|---|
| committer | Kirk McKusick <mckusick@FreeBSD.org> | 2018-08-27 15:20:42 +0000 |
| commit | d81347652cf4b3bedee180a55758857a5a7ac7da (patch) | |
| tree | 51d6b162b6cfb7119fcf74629ab5f8c8d76751be /usr.bin/xinstall | |
| parent | 78da60464191371524fd3d85da0a9efe63369497 (diff) | |
Notes
Diffstat (limited to 'usr.bin/xinstall')
| -rw-r--r-- | usr.bin/xinstall/xinstall.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c index 512ec962d4a1..880766b34623 100644 --- a/usr.bin/xinstall/xinstall.c +++ b/usr.bin/xinstall/xinstall.c @@ -1265,6 +1265,12 @@ copy(int from_fd, const char *from_name, int to_fd, const char *to_name, err(EX_OSERR, "%s", from_name); } } + if (safecopy && fsync(to_fd) == -1) { + serrno = errno; + (void)unlink(to_name); + errno = serrno; + err(EX_OSERR, "fsync failed for %s", to_name); + } return (digest_end(&ctx, NULL)); } |
