[PATCH] krnl386.exe16: 8 bit left shift was missing (Coverity)

Marcus Meissner meissner at suse.de
Fri May 6 10:55:09 CDT 2011


Hi,

CID 1447.

Ciao, Marcus
---
 dlls/krnl386.exe16/selector.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/dlls/krnl386.exe16/selector.c b/dlls/krnl386.exe16/selector.c
index ec9bb2a..bc189a0 100644
--- a/dlls/krnl386.exe16/selector.c
+++ b/dlls/krnl386.exe16/selector.c
@@ -302,7 +302,8 @@ WORD WINAPI SelectorAccessRights16( WORD sel, WORD op, WORD val )
     else  /* set */
     {
         entry.HighWord.Bytes.Flags1 = LOBYTE(val) | 0xf0;
-        entry.HighWord.Bytes.Flags2 = (entry.HighWord.Bytes.Flags2 & 0x0f) | (HIBYTE(val) & 0xf0);
+        entry.HighWord.Bytes.Flags2 = (entry.HighWord.Bytes.Flags2 & 0x0f) |
+                                      ((HIBYTE(val) >> 8) & 0xf0);
         wine_ldt_set_entry( sel, &entry );
         return 0;
     }
-- 
1.7.1



More information about the wine-patches mailing list