diff options
author | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-23 18:25:31 +0000 |
---|---|---|
committer | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-23 18:25:31 +0000 |
commit | 77b498aa18e610ed8ac3863ae048573d4f943b16 (patch) | |
tree | 8026408949442a07257f9139b3abfafff37714f8 /base/files/file_path_watcher_linux.cc | |
parent | 0590b01965d96f5d45b8c6c7458508e3bbea6718 (diff) | |
download | chromium_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.cc | 5 |
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() { |