Author: tkreuzer Date: Sat May 28 16:12:40 2011 New Revision: 51977
URL: http://svn.reactos.org/svn/reactos?rev=51977&view=rev Log: [WIN32K] - Fix EngMapFontFileFD (return adress and size) - Fix memory leak in EngUnloadImage
Modified: branches/GSoC_2011/GdiFontDriver/subsystems/win32/win32k/eng/ldevobj.c branches/GSoC_2011/GdiFontDriver/subsystems/win32/win32k/eng/mapping.c
Modified: branches/GSoC_2011/GdiFontDriver/subsystems/win32/win32k/eng/ldevobj.c URL: http://svn.reactos.org/svn/reactos/branches/GSoC_2011/GdiFontDriver/subsyste... ============================================================================== --- branches/GSoC_2011/GdiFontDriver/subsystems/win32/win32k/eng/ldevobj.c [iso-8859-1] (original) +++ branches/GSoC_2011/GdiFontDriver/subsystems/win32/win32k/eng/ldevobj.c [iso-8859-1] Sat May 28 16:12:40 2011 @@ -101,6 +101,7 @@ { /* Make sure we don't have a driver loaded */ ASSERT(pldev && pldev->pGdiDriverInfo == NULL); + ASSERT(pldev->cRefs == 0);
/* Free the memory */ ExFreePoolWithTag(pldev, GDITAG_LDEV); @@ -475,8 +476,9 @@ if (pldev->pldevNext) pldev->pldevNext->pldevPrev = pldev->pldevPrev;
- /* Unload the image */ + /* Unload the image and free the LDEV */ LDEVOBJ_vUnloadImage(pldev); + LDEVOBJ_vFreeLDEV(pldev); }
/* Unlock loader */
Modified: branches/GSoC_2011/GdiFontDriver/subsystems/win32/win32k/eng/mapping.c URL: http://svn.reactos.org/svn/reactos/branches/GSoC_2011/GdiFontDriver/subsyste... ============================================================================== --- branches/GSoC_2011/GdiFontDriver/subsystems/win32/win32k/eng/mapping.c [iso-8859-1] (original) +++ branches/GSoC_2011/GdiFontDriver/subsystems/win32/win32k/eng/mapping.c [iso-8859-1] Sat May 28 16:12:40 2011 @@ -512,6 +512,10 @@ PAGE_READONLY); }
+ /* Return base address and size */ + if (ppjBuf) *ppjBuf = pffv->pvViewFD; + if (pcjBuf) *pcjBuf = pffv->cjView; + return NT_SUCCESS(Status); }