Module: wine Branch: master Commit: a1ed500836806ef46fc3eafa7ce5f8621938cbc1 URL: https://source.winehq.org/git/wine.git/?a=commit;h=a1ed500836806ef46fc3eafa7...
Author: Michał Janiszewski janisozaur@gmail.com Date: Sun Jul 1 23:51:22 2018 +0200
ntdll: Only set owned bits in RTL_BITMAP.
Signed-off-by: Michał Janiszewski janisozaur@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntdll/rtlbitmap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/rtlbitmap.c b/dlls/ntdll/rtlbitmap.c index 318f6fc..20108f5 100644 --- a/dlls/ntdll/rtlbitmap.c +++ b/dlls/ntdll/rtlbitmap.c @@ -156,8 +156,8 @@ VOID WINAPI RtlSetBits(PRTL_BITMAP lpBits, ULONG ulStart, ULONG ulCount) /* Set from the start bit, possibly into the next byte also */ USHORT initialWord = NTDLL_maskBits[ulCount] << (ulStart & 7);
- *lpOut++ |= (initialWord & 0xff); - *lpOut |= (initialWord >> 8); + *lpOut |= (initialWord & 0xff); + if (initialWord >> 8) lpOut[1] |= (initialWord >> 8); return; } } @@ -217,8 +217,8 @@ VOID WINAPI RtlClearBits(PRTL_BITMAP lpBits, ULONG ulStart, ULONG ulCount) /* Clear from the start bit, possibly into the next byte also */ USHORT initialWord = ~(NTDLL_maskBits[ulCount] << (ulStart & 7));
- *lpOut++ &= (initialWord & 0xff); - *lpOut &= (initialWord >> 8); + *lpOut &= (initialWord & 0xff); + if ((initialWord >> 8) != 0xff) lpOut[1] &= (initialWord >> 8); return; } }