diff options
author | cmumford@chromium.org <cmumford@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-04 06:37:56 +0000 |
---|---|---|
committer | cmumford@chromium.org <cmumford@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-04 06:37:56 +0000 |
commit | 3939cc57163e8b69b14b8e8769b572485229e66b (patch) | |
tree | fdce37baa9f1e0a14f872649495256b7dff34f31 /third_party/leveldatabase | |
parent | 8aa38ccc6747331e3a5f44a40bc5dd072762b4c2 (diff) | |
download | chromium_src-3939cc57163e8b69b14b8e8769b572485229e66b.zip chromium_src-3939cc57163e8b69b14b8e8769b572485229e66b.tar.gz chromium_src-3939cc57163e8b69b14b8e8769b572485229e66b.tar.bz2 |
ChromiumEnv::GetChildren() now filtering out '.' and '..'
BUG=324936
Review URL: https://codereview.chromium.org/100243002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238608 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/leveldatabase')
-rw-r--r-- | third_party/leveldatabase/env_chromium.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/third_party/leveldatabase/env_chromium.cc b/third_party/leveldatabase/env_chromium.cc index 00f8583..e0ab97d 100644 --- a/third_party/leveldatabase/env_chromium.cc +++ b/third_party/leveldatabase/env_chromium.cc @@ -4,6 +4,7 @@ #include <errno.h> #include <stdio.h> +#include <string.h> #include <deque> @@ -786,8 +787,11 @@ static base::PlatformFileError GetDirectoryEntries( struct dirent dent_buf; struct dirent* dent; int readdir_result; - while ((readdir_result = readdir_r(dir, &dent_buf, &dent)) == 0 && dent) + while ((readdir_result = readdir_r(dir, &dent_buf, &dent)) == 0 && dent) { + if (strcmp(dent->d_name, ".") == 0 || strcmp(dent->d_name, "..") == 0) + continue; result->push_back(CreateFilePath(dent->d_name)); + } int saved_errno = errno; closedir(dir); if (readdir_result != 0) |