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
 
 |