[WIN32K:NTGDI]
authorThomas Faber <thomas.faber@reactos.org>
Thu, 22 Oct 2015 11:05:59 +0000 (11:05 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Thu, 22 Oct 2015 11:05:59 +0000 (11:05 +0000)
- Fix pool leak in failure case (CID 1322140) and don't treat NTSTATUS values as Win32 errors in NtGdiGetGlyphIndicesW.

svn path=/trunk/; revision=69641

reactos/win32ss/gdi/ntgdi/freetype.c

index 45fb25c..8bdca85 100644 (file)
@@ -4519,7 +4519,7 @@ NtGdiGetGlyphIndicesW(
         potm = ExAllocatePoolWithTag(PagedPool, Size, GDITAG_TEXT);
         if (!potm)
         {
-            Status = ERROR_NOT_ENOUGH_MEMORY;
+            Status = STATUS_NO_MEMORY;
             goto ErrorRet;
         }
         IntGetOutlineTextMetrics(FontGDI, Size, potm);
@@ -4532,8 +4532,8 @@ NtGdiGetGlyphIndicesW(
 
     if (!Safepwc)
     {
-        EngSetLastError(ERROR_NOT_ENOUGH_MEMORY);
-        return GDI_ERROR;
+        Status = STATUS_NO_MEMORY;
+        goto ErrorRet;
     }
 
     _SEH2_TRY
@@ -4587,7 +4587,7 @@ ErrorRet:
         ExFreePoolWithTag(Safepwc, GDITAG_TEXT);
     }
     if (NT_SUCCESS(Status)) return cwc;
-    EngSetLastError(Status);
+    SetLastNtError(Status);
     return GDI_ERROR;
 }