diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a6a05895899..ce61055d8b7 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2006-10-29 Paolo Carlini + + * src/debug.cc (_Safe_sequence_base::_M_revalidate_singular): Fix + pasto, advance __iter only once per iteration. + 2006-10-29 Paolo Carlini PR libstdc++/29520 diff --git a/libstdc++-v3/src/debug.cc b/libstdc++-v3/src/debug.cc index c43acd6e727..46c6c14810f 100644 --- a/libstdc++-v3/src/debug.cc +++ b/libstdc++-v3/src/debug.cc @@ -146,23 +146,18 @@ namespace __gnu_debug __old->_M_attach(0, true); } } - - void + + void _Safe_sequence_base:: _M_revalidate_singular() { - _Safe_iterator_base* __iter; - for (__iter = _M_iterators; __iter; __iter = __iter->_M_next) - { - __iter->_M_version = _M_version; - __iter = __iter->_M_next; - } - - for (__iter = _M_const_iterators; __iter; __iter = __iter->_M_next) - { - __iter->_M_version = _M_version; - __iter = __iter->_M_next; - } + for (_Safe_iterator_base* __iter = _M_iterators; __iter; + __iter = __iter->_M_next) + __iter->_M_version = _M_version; + + for (_Safe_iterator_base* __iter2 = _M_const_iterators; __iter2; + __iter2 = __iter2->_M_next) + __iter2->_M_version = _M_version; } void