diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-26 19:44:09 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-26 19:44:09 +0000 |
commit | d7a9328f5d93b8877d2e7ff34093537b39a3108b (patch) | |
tree | abcf828ee491da156b15ae3581d82d2de0b14baf /net/url_request | |
parent | d6a2b644891c820fa50203789dee80ef636bf1e8 (diff) | |
download | chromium_src-d7a9328f5d93b8877d2e7ff34093537b39a3108b.zip chromium_src-d7a9328f5d93b8877d2e7ff34093537b39a3108b.tar.gz chromium_src-d7a9328f5d93b8877d2e7ff34093537b39a3108b.tar.bz2 |
Fix the case where the browser livelocks if we cannot open a file.
If one tries to upload a file that one doesn't have read access to,
the browser livelocks. It tries to read from the file, gets nothing
but spins forever because it knows that it hasn't finished reading.
To address this, firstly we add a check at stat() time to make sure
that we can read the file. However, this doesn't take care of the case
where the access() call was incorrect, or the permissions have changed
under us. In this case, we replace the missing file with NULs.
(Land attempt three: first in r39446, reverted in r39448. Second in
r39899, reverted in r39901.)
http://codereview.chromium.org/541022
BUG=30850
TEST=Try to upload a file that isn't readable (i.e. /etc/shadow). The resulting upload should be a 0 byte file.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40146 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request')
0 files changed, 0 insertions, 0 deletions