summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/file.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/standard/file.c b/ext/standard/file.c
index 278282d721..6eab2d14db 100644
--- a/ext/standard/file.c
+++ b/ext/standard/file.c
@@ -1688,8 +1688,8 @@ PHPAPI int php_copy_file(char *src, char *dest)
}
srcfile = mmap(NULL, sbuf.st_size, PROT_READ, MAP_SHARED, fd_s, 0);
if (srcfile != (void *) MAP_FAILED) {
- write(fd_t, srcfile, sbuf.st_size);
- ret = SUCCESS;
+ if (write(fd_t, srcfile, sbuf.st_size) == sbuf.st_size)
+ ret = SUCCESS;
munmap(srcfile, sbuf.st_size);
goto cleanup;
}