Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-20209

[Win32ss] BSOD 0x1E due to gdi/eng/lineto.c > SEtoNW when loading a game in Cyberboard Player

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Critical
    • None
    • Win32SS

    Description

      reactos-bootcd-0.4.16-dev-1180-g16e620d-x86-gcc-lin-dbg

      Cyberboard Player https://web.archive.org/web/20170313130350/http://cyberboard.brainiac.com/cyberboardv310.exe

      • Start Cyberboard Player
      • New file
      • "Generic"
      • BSOD

      Entered debugger on embedded INT3 at 0x0008:0x805AAEAE.
      Eip:
      <ntoskrnl.exe:1aaeae (sdk/lib/rtl/i386/debug_asm.S:45 (RtlpBreakWithStatusInstruction))>
      Frames:
      <ntoskrnl.exe:99f7d (ntoskrnl/ke/bug.c:1160 (KeBugCheckWithTf))>
      <ntoskrnl.exe:9a4a8 (ntoskrnl/ke/bug.c:1420 (KeBugCheckEx))>
      <ntoskrnl.exe:162104 (ntoskrnl/ke/i386/exp.c:888 (KiDispatchException))>
      <ntoskrnl.exe:162532 (ntoskrnl/ke/i386/exp.c:1081 (KiDispatchExceptionFromTrapFrame))>
      <ntoskrnl.exe:165c7f (ntoskrnl/ke/i386/traphdlr.c:419 (KiTrap00Handler))>
      <ntoskrnl.exe:2f8d (:0 (KiTrap00))>
      <win32k.sys:11113 (win32ss/gdi/eng/lineto.c:406 (SEtoNW))>
      <win32k.sys:117e5 (win32ss/gdi/eng/lineto.c:607 (EngLineTo))>
      <win32k.sys:11973 (win32ss/gdi/eng/lineto.c:696 (IntEngLineTo))>
      <win32k.sys:c05bd (win32ss/gdi/ntgdi/fillshap.c:163 (IntGdiPolygon))>
      <win32k.sys:c08ef (win32ss/gdi/ntgdi/fillshap.c:191 (IntGdiPolyPolygon))>
      <win32k.sys:c17e8 (win32ss/gdi/ntgdi/fillshap.c:535 (NtGdiPolyPolyDraw))>
      <ntoskrnl.exe:3fe5 (:0 (KiSystemCallTrampoline))>
      <ntoskrnl.exe:1680dd (ntoskrnl/ke/i386/traphdlr.c:1840 (KiSystemServiceHandler))>
      <ntoskrnl.exe:3e2f (:0 (KiFastCallEntry))>
      <ntdll.dll:f2a9>
      <CBPlay.exe:54cb> 

      This is due to SEtoNW and more precisely to https://github.com/reactos/reactos/blob/master/win32ss/gdi/eng/lineto.c#L406

      iStyle = (iStyle - 1) % cStyles; 

      this assumes that cStyles is non-NULL but this is never checked.

      cStyles comes from pebo->pbrush->dwStyleCount and several similar pattern exist in this file : https://github.com/reactos/reactos/blob/master/win32ss/gdi/eng/lineto.c

      This code has been left unchanged since initial support by ThePhysicist when implementing CORE-9984

      Wine 10.7 is not affected

       

      Attachments

        1. Cyberboard-fix-02.patch
          3 kB
          DougLyons
        2. image-2025-05-25-17-33-46-379.png
          13 kB
          KRosUser
        3. putty.log
          134 kB
          KRosUser

        Issue Links

          Activity

            People

              Unassigned Unassigned
              KRosUser KRosUser
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: