[v2] krnl386.exe16: Avoid shift overflows in DMA_ioport_in.

Gerald Pfeifer gerald at pfeifer.com
Tue Oct 27 06:07:17 CDT 2015


I believe thisi has been obsoleted by Alexandre's patch

  commit 5767c63ae0edca8635ed70d7071759745997be81
  Author: Alexandre Julliard <julliard at winehq.org>
  Date:   Mon Oct 26 17:54:48 2015 +0900

    krnl386.exe: Remove some redundant shifts.

in case someone is tracking (and since Marvin has not labeled my
patch as rejected so far).

Gerald

On Tue, 20 Oct 2015, Gerald Pfeifer wrote:
> Use 0xFFu isntead 0xFF to indicate we are looking at an unsigned
> value/constant.
> 
> Gerald, now with...
> 
> Signed-off-by: Gerald Pfeifer <gerald at pfeifer.com>
> ---
>  dlls/krnl386.exe16/dma.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/dlls/krnl386.exe16/dma.c b/dlls/krnl386.exe16/dma.c
> index a0c4050..d01686c 100644
> --- a/dlls/krnl386.exe16/dma.c
> +++ b/dlls/krnl386.exe16/dma.c
> @@ -360,13 +360,13 @@ BYTE DMA_ioport_in( WORD port )
>      case 0x8A: res = (DMA_BaseAddress[7]&(0xFF<<16))>>16; break;
>  
>      /* High Page Base Address */
> -    case 0x487: res = (DMA_BaseAddress[0]&(0xFF<<24))>>24; break;
> -    case 0x483: res = (DMA_BaseAddress[1]&(0xFF<<24))>>24; break;
> -    case 0x481: res = (DMA_BaseAddress[2]&(0xFF<<24))>>24; break;
> -    case 0x482: res = (DMA_BaseAddress[3]&(0xFF<<24))>>24; break;
> -    case 0x48B: res = (DMA_BaseAddress[5]&(0xFF<<24))>>24; break;
> -    case 0x489: res = (DMA_BaseAddress[6]&(0xFF<<24))>>24; break;
> -    case 0x48A: res = (DMA_BaseAddress[7]&(0xFF<<24))>>24; break;
> +    case 0x487: res = (DMA_BaseAddress[0]&(0xFFu<<24))>>24; break;
> +    case 0x483: res = (DMA_BaseAddress[1]&(0xFFu<<24))>>24; break;
> +    case 0x481: res = (DMA_BaseAddress[2]&(0xFFu<<24))>>24; break;
> +    case 0x482: res = (DMA_BaseAddress[3]&(0xFFu<<24))>>24; break;
> +    case 0x48B: res = (DMA_BaseAddress[5]&(0xFFu<<24))>>24; break;
> +    case 0x489: res = (DMA_BaseAddress[6]&(0xFFu<<24))>>24; break;
> +    case 0x48A: res = (DMA_BaseAddress[7]&(0xFFu<<24))>>24; break;
>  
>      case 0x08:
>      case 0xD0:
> 



More information about the wine-devel mailing list