Index: components/signin/core/browser/account_reconcilor.cc |
diff --git a/components/signin/core/browser/account_reconcilor.cc b/components/signin/core/browser/account_reconcilor.cc |
index 1fd4cff900313875753caa65836b50b26793f3f9..c5077bb1f12136e3d854f64fcb99c0d2308bd395 100644 |
--- a/components/signin/core/browser/account_reconcilor.cc |
+++ b/components/signin/core/browser/account_reconcilor.cc |
@@ -661,10 +661,12 @@ void AccountReconcilor::FinishReconcile() { |
} |
// For each account in the gaia cookie not known to chrome, |
- // PerformAddToChromeAction. |
+ // PerformAddToChromeAction. Make a copy of |add_to_chrome| since calls to |
+ // PerformAddToChromeAction() may modify this array. |
+ std::vector<std::pair<std::string, int> > add_to_chrome_copy = add_to_chrome_; |
for (std::vector<std::pair<std::string, int> >::const_iterator i = |
- add_to_chrome_.begin(); |
- i != add_to_chrome_.end(); |
+ add_to_chrome_copy.begin(); |
+ i != add_to_chrome_copy.end(); |
++i) { |
PerformAddToChromeAction(i->first, i->second); |
} |