diff options
-rw-r--r-- | ext/standard/file.c | 4 |
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; } |