Chromium Code Reviews| Index: sandbox/win/src/win_utils.cc |
| diff --git a/sandbox/win/src/win_utils.cc b/sandbox/win/src/win_utils.cc |
| index 53a12a4f292d4da12435fd20ad3858f57feaddf5..4445246c997702266fbda430b59626bd2f5e0146 100644 |
| --- a/sandbox/win/src/win_utils.cc |
| +++ b/sandbox/win/src/win_utils.cc |
| @@ -95,7 +95,8 @@ DWORD IsReparsePoint(const base::string16& full_path, bool* result) { |
| base::string16::size_type last_pos = base::string16::npos; |
| do { |
| - path = path.substr(0, last_pos); |
| + if (last_pos != base::string16::npos) |
| + path = path.substr(0, last_pos + 1); |
| DWORD attributes = ::GetFileAttributes(path.c_str()); |
| if (INVALID_FILE_ATTRIBUTES == attributes) { |
| @@ -113,6 +114,7 @@ DWORD IsReparsePoint(const base::string16& full_path, bool* result) { |
| return ERROR_SUCCESS; |
| } |
| + path = path.substr(0, last_pos); |
| last_pos = path.rfind(L'\\'); |
| } while (last_pos != base::string16::npos); |
|
rvargas (doing something else)
2014/02/03 23:09:24
Looks like we should instead break the loop when w
|