From cc5ca5512bd38051cb8838f3d526b49727aa2a83 Mon Sep 17 00:00:00 2001 From: Alex Guteniev Date: Tue, 16 Sep 2025 22:13:45 +0300 Subject: [PATCH] Fix UB in vector by adding missing special case --- stl/inc/vector | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stl/inc/vector b/stl/inc/vector index 3e469e3d15e..093b0c96acf 100644 --- a/stl/inc/vector +++ b/stl/inc/vector @@ -3859,7 +3859,7 @@ _CONSTEXPR20 _OutIt _Copy_vbool(_VbIt _First, _VbIt _Last, _OutIt _Dest) { const auto _DestMask = _FirstDestMask | (_DestEnd._Myoff == 0 ? 0 : _LastDestMask); if (_Last._Myoff != 0) { - const auto _LastShift = _DestEnd._Myoff - _Last._Myoff; + const auto _LastShift = _DestEnd._Myoff != 0 ? _DestEnd._Myoff - _Last._Myoff : _VBITS - _Last._Myoff; const auto _LastSourceVal = (*_VbLast & _LastSourceMask) << _LastShift; *_VbDest = (*_VbDest & _DestMask) | _SourceVal | _LastSourceVal; } else {