diff options
author | Patrick Palka <ppalka@redhat.com> | 2022-04-15 14:41:14 -0400 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2022-04-15 14:41:14 -0400 |
commit | 7e76cef873342a66408c126abceaf7dbddd3f477 (patch) | |
tree | 8a816011c97dd3edf618d648833df78980329f55 /libstdc++-v3/include | |
parent | eb3f2e9348e8057f4219859a96739ff1ba350611 (diff) |
libstdc++: Avoid double-deref of __first in ranges::minmax [PR104858]
PR libstdc++/104858
libstdc++-v3/ChangeLog:
* include/bits/ranges_algo.h (__minmax_fn): Avoid dereferencing
__first twice at the start.
* testsuite/25_algorithms/minmax/constrained.cc (test06): New test.
Diffstat (limited to 'libstdc++-v3/include')
-rw-r--r-- | libstdc++-v3/include/bits/ranges_algo.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libstdc++-v3/include/bits/ranges_algo.h b/libstdc++-v3/include/bits/ranges_algo.h index 62dc605080a..3d30fb1428c 100644 --- a/libstdc++-v3/include/bits/ranges_algo.h +++ b/libstdc++-v3/include/bits/ranges_algo.h @@ -3084,7 +3084,7 @@ namespace ranges auto __last = ranges::end(__r); __glibcxx_assert(__first != __last); auto __comp_proj = __detail::__make_comp_proj(__comp, __proj); - minmax_result<range_value_t<_Range>> __result = {*__first, *__first}; + minmax_result<range_value_t<_Range>> __result = {*__first, __result.min}; if (++__first == __last) return __result; else |