Patch for Bug 14072

Chris Ahrendt celticht32 at aol.com
Tue Jul 15 16:20:12 CDT 2008


I have been chasing down a bug which causes a unhandled exception in
wine for various d3d applications and have found where the problem occurs.

The problem occurs in provider.c in dll/dxdiagn

here is the dif for the patch :

  --- provider.c    2008-07-15 11:56:57.000000000 -0400
  +++ provider_orig.c   2008-07-11 11:55:55.000000000 -0400
  @@ -665,11 +665,7 @@ static HRESULT DXDiag_InitDXDiagDirectSh
      }
      IPropertyBag_Release(pPropFilterBag); pPropFilterBag = NULL;
    }
  -      if (pEnum != NULL)
  -        {
  -       IEnumMoniker_Release(pEnum);
  -       pEnum = NULL;
  -      }
  + IEnumMoniker_Release(pEnum); pEnum = NULL;
         }
   class_enum_failed:
      SysFreeString(wszCatName);

What's occuring is that pEnum is NULL and when the release function is
called  it throws an exception. This fix checks to make sure its not
NULL before calling the release.

If you need the exception please look at bug 14072

Chris





More information about the wine-patches mailing list