summaryrefslogtreecommitdiffstats
path: root/base/files/file_path_watcher_linux.cc
diff options
context:
space:
mode:
authormnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-23 18:25:31 +0000
committermnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-23 18:25:31 +0000
commit77b498aa18e610ed8ac3863ae048573d4f943b16 (patch)
tree8026408949442a07257f9139b3abfafff37714f8 /base/files/file_path_watcher_linux.cc
parent0590b01965d96f5d45b8c6c7458508e3bbea6718 (diff)
downloadchromium_src-77b498aa18e610ed8ac3863ae048573d4f943b16.zip
chromium_src-77b498aa18e610ed8ac3863ae048573d4f943b16.tar.gz
chromium_src-77b498aa18e610ed8ac3863ae048573d4f943b16.tar.bz2
Add CHECKs for file descriptors used in select() by InotifyReaderTask
Since these are used in an fd_set, there's the possibility that invalid file descriptors cause stack overflow/corruption. BUG=chromium:105162 TEST=No functional changes, compiles and passes tests. Review URL: http://codereview.chromium.org/8681006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111369 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/files/file_path_watcher_linux.cc')
-rw-r--r--base/files/file_path_watcher_linux.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/base/files/file_path_watcher_linux.cc b/base/files/file_path_watcher_linux.cc
index 6dc4ab9..c9be4ba 100644
--- a/base/files/file_path_watcher_linux.cc
+++ b/base/files/file_path_watcher_linux.cc
@@ -158,6 +158,11 @@ class InotifyReaderTask : public Task {
: reader_(reader),
inotify_fd_(inotify_fd),
shutdown_fd_(shutdown_fd) {
+ // Make sure the file descriptors are good for use with select().
+ CHECK_LE(0, inotify_fd_);
+ CHECK_GT(FD_SETSIZE, inotify_fd_);
+ CHECK_LE(0, shutdown_fd_);
+ CHECK_GT(FD_SETSIZE, shutdown_fd_);
}
virtual void Run() {