diff --git a/src/ntfs-3g.c b/src/ntfs-3g.c index 8785bae0..74c79447 100644 --- a/src/ntfs-3g.c +++ b/src/ntfs-3g.c @@ -752,7 +752,7 @@ static int ntfs_fuse_read(const char *org_path, char *buf, size_t size, size = na->data_size - offset; } while (size > 0) { - s64 ret = ntfs_attr_pread(na, offset, size, buf); + s64 ret = ntfs_attr_pread(na, offset, size, buf + total); if (ret != (s64)size) ntfs_log_perror("ntfs_attr_pread error reading '%s' at " "offset %lld: %lld <> %lld", org_path, @@ -804,7 +804,7 @@ static int ntfs_fuse_write(const char *org_path, const char *buf, size_t size, goto exit; } while (size) { - s64 ret = ntfs_attr_pwrite(na, offset, size, buf); + s64 ret = ntfs_attr_pwrite(na, offset, size, buf + total); if (0 <= ret && ret < (s64)size) ntfs_log_perror("ntfs_attr_pwrite partial write to '%s'" " (%lld: %lld <> %lld)", path, (long long)offset,