Implement Read/WriteAtCurrentPos correctly
BUG=356979
Review URL: https://codereview.chromium.org/213473007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260673 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: 09ebff258da414ddd812fcf8e1a7d5f4b82ba88a
diff --git a/base/files/file_posix.cc b/base/files/file_posix.cc
index 46d6d94..176f1f3 100644
--- a/base/files/file_posix.cc
+++ b/base/files/file_posix.cc
@@ -266,7 +266,7 @@
int bytes_read = 0;
int rv;
do {
- rv = HANDLE_EINTR(read(file_.get(), data, size));
+ rv = HANDLE_EINTR(read(file_.get(), data + bytes_read, size - bytes_read));
if (rv <= 0)
break;
@@ -325,7 +325,8 @@
int bytes_written = 0;
int rv;
do {
- rv = HANDLE_EINTR(write(file_.get(), data, size));
+ rv = HANDLE_EINTR(write(file_.get(), data + bytes_written,
+ size - bytes_written));
if (rv <= 0)
break;