www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/02/13/12:03:22

From: Jih-Shin Ho <u7711501 AT bicmos DOT ee DOT nctu DOT edu DOT tw>
Subject: A serious bug in grprot.asm
To: djgpp AT sun DOT soe DOT clarkson DOT edu (djgpp)
Date: Mon, 13 Feb 95 19:45:52 WST

Hi:
  I am the author of DISPLAY. I have found a serious bug in GO32.EXE which 
causes system to crash if BIG_VGA_FRAME is used. This bug is in grprot.asm.
The code in grprot.asm is:

check_pgdir:
        mov     ax,[si]
        mov     ebx,cr2
        shr     ebx,22
        and     bx,(03ffffffh SHR 22)
        cmp     ax,bx                           ; ax: old, bx: new
        je      pgdir_done
        and     eax,0000ffffh
        xor     edx,edx
        mov     edi,_graphics_pd_lin
        mov     ecx,es:[edi+eax*4]              ; move page table
        mov     es:[edi+ebx*4],ecx
        mov     es:[esi+eax*4],edx              ; zero old entry !!! BUG !!!
        mov     edi,_graphics_pd_seg_lin

Where 'esi' should be changed to 'edi'. I hope it can be corrected in next
version.


  -- Jih-Shin Ho


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019