aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/bits/regex_executor.tcc2
2 files changed, 7 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 121ac77..4c9dc05 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2015-01-02 Tim Shen <timshen@google.com>
+
+ PR libstdc++/64475
+ * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
+ iterator, since the original one shouldn't be mutated.
+
2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR libstdc++/64422
diff --git a/libstdc++-v3/include/bits/regex_executor.tcc b/libstdc++-v3/include/bits/regex_executor.tcc
index 7954d06..a973667 100644
--- a/libstdc++-v3/include/bits/regex_executor.tcc
+++ b/libstdc++-v3/include/bits/regex_executor.tcc
@@ -310,7 +310,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
if (!__submatch.matched)
break;
auto __last = _M_current;
- for (auto& __tmp = __submatch.first;
+ for (auto __tmp = __submatch.first;
__last != _M_end && __tmp != __submatch.second;
++__tmp)
++__last;