summaryrefslogtreecommitdiff
path: root/libstdc++-v3/include
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2022-04-15 14:41:14 -0400
committerPatrick Palka <ppalka@redhat.com>2022-04-15 14:41:14 -0400
commit7e76cef873342a66408c126abceaf7dbddd3f477 (patch)
tree8a816011c97dd3edf618d648833df78980329f55 /libstdc++-v3/include
parenteb3f2e9348e8057f4219859a96739ff1ba350611 (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.h2
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