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

ReactOS MediaPlayer crash (Unhandled exception) when opening "empty" AVI file from CamStudio

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • 0.4.15
    • Wine
    • None

    Description

      reactos-bootcd-0.4.15-dev-5402-gf908d37-x86-gcc-lin-dbg

      • Open "empty" avi file created by CamStudio
      •  ReactOS MediaPlayer crash with Unhandled exception

      fixme:(dll/win32/winmm/mci.c:843) Couldn't load driver for type L"VCR".
      fixme:(dll/win32/mciavi32/mciavi.c:984) (0001, 00000020, 0022FDA4) : stub
      (win32ss/user/ntuser/nonclient.c:1133) err: Wnd is active and not set active!
      Unhandled exception
      ExceptionCode:    c0000005
      Faulting Address: 0024F000
      CS:EIP 1b:73837ca8
      DS 23 ES 23 FS 3b GS 0
      EAX: 0024f000   EBX: 0024cb00   ECX: 014bfefc
      EDX: 0024cf60   EBP: 014bfefc   ESI: 66010255   ESP: 014bfea4
      EDI: 0024cc54   EFLAGS: 00010202
      Address:
      * <mciavi32.dll:7ca8 (dll/win32/mciavi32/mmoutput.c:616 (MCIAVI_PaintFrame))> (C:\ReactOS\system32\mciavi32.dll@73830000)
      Frames:
      * <mciavi32.dll:32fa (dll/win32/mciavi32/mciavi.c:397 (MCIAVI_player))> (C:\ReactOS\system32\mciavi32.dll@73830000)
      * <mciavi32.dll:35aa (dll/win32/mciavi32/mciavi.c:508 (MCIAVI_mciPlay_thread))> (C:\ReactOS\system32\mciavi32.dll@73830000)
      * <kernel32.dll:1c980 (dll/win32/kernel32/client/thread.c:71 (BaseThreadStartup))> (C:\ReactOS\system32\kernel32.dll@7c620000)
      

      Sample AVI file :  ~temp-20221125_1447_41.avi

       Difficult to get in the same condition (now fails with an application level error code by mplay32) but, looking at the guilty line of code : * <mciavi32.dll:7ca8 (dll/win32/mciavi32/mmoutput.c:616 (MCIAVI_PaintFrame))>

      https://git.reactos.org/?p=reactos.git;a=blob;f=dll/win32/mciavi32/mmoutput.c;hb=95e5f07084088129e3c121568ea06c7f4d0a8d41#l616

      it appears that "wma->lpVideoIndex[wma->dwCurrVideoFrame]" if called, without checking that wma->dwCurrVideoFrame < wma->dwPlayableVideoFrames (size of wma->lpVideoInde array).

      So I'd suggest to add :

      See patch : mciavi.patch

      Attachments

        1. ~temp-20221125_1447_41.avi
          2 kB
        2. image-2023-01-05-21-57-12-122.png
          image-2023-01-05-21-57-12-122.png
          22 kB
        3. mciavi.patch
          0.7 kB
        4. ReactOS.log
          99 kB

        Activity

          People

            qwn qwn
            KRosUser KRosUser
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: