Index: chrome/browser/policy/policy_path_parser_win.cc |
diff --git a/chrome/browser/policy/policy_path_parser_win.cc b/chrome/browser/policy/policy_path_parser_win.cc |
index 89c3a446f4ac057631a2aac7d80c36c0e98737d2..33e8af8e9b5b14e5ef5d3f56bdce53a14d0d50bb 100644 |
--- a/chrome/browser/policy/policy_path_parser_win.cc |
+++ b/chrome/browser/policy/policy_path_parser_win.cc |
@@ -44,6 +44,15 @@ const WinFolderNamesToCSIDLMapping win_folder_mapping[] = { |
FilePath::StringType ExpandPathVariables( |
const FilePath::StringType& untranslated_string) { |
FilePath::StringType result(untranslated_string); |
+ if (result.length() == 0) |
+ return result; |
+ // Sanitize quotes in case of any around the whole string. |
+ if (result.length() > 1 && |
+ ((result[0] == L'"' && result[result.length() - 1] == L'"') || |
+ (result[0] == L'\'' && result[result.length() - 1] == L'\''))) { |
+ // Strip first and last char which should be matching quotes now. |
+ result = result.substr(1, result.length() - 2); |
+ } |
// First translate all path variables we recognize. |
for (int i = 0; i < arraysize(win_folder_mapping); ++i) { |
size_t position = result.find(win_folder_mapping[i].name); |