https://git.reactos.org/?p=reactos.git;a=commitdiff;h=862b82f3fac4ab952c556ffdfde6b8164cd3117c

commit 862b82f3fac4ab952c556ffdfde6b8164cd3117c
Author:     Thomas Faber <[email protected]>
AuthorDate: Wed Jan 31 12:34:41 2018 +0100
Commit:     Thomas Faber <[email protected]>
CommitDate: Wed Jan 31 12:35:30 2018 +0100

    [WIN32K:NTGDI] Fix more uses of RtlCreateUnicodeString. CORE-14271
    
    Addendum to 7f687154a0fe47826d8047f1a4f9cfd93414d45f. Spotted by Hermès.
---
 win32ss/gdi/ntgdi/freetype.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/win32ss/gdi/ntgdi/freetype.c b/win32ss/gdi/ntgdi/freetype.c
index 7f24ba90dd..392e338633 100644
--- a/win32ss/gdi/ntgdi/freetype.c
+++ b/win32ss/gdi/ntgdi/freetype.c
@@ -391,10 +391,11 @@ IntLoadFontSubstList(PLIST_ENTRY pHead)
         pch = (LPWSTR)((PUCHAR)pInfo + pInfo->DataOffset);
         Length = pInfo->DataLength / sizeof(WCHAR);
         pch[Length] = UNICODE_NULL; /* truncate */
-        Status = RtlCreateUnicodeString(&ToW, pch);
-        if (!NT_SUCCESS(Status))
+        Success = RtlCreateUnicodeString(&ToW, pch);
+        if (!Success)
         {
-            DPRINT("RtlCreateUnicodeString failed: 0x%08X\n", Status);
+            Status = STATUS_INSUFFICIENT_RESOURCES;
+            DPRINT("RtlCreateUnicodeString failed\n");
             RtlFreeUnicodeString(&FromW);
             break;      /* failure */
         }
@@ -2193,7 +2194,14 @@ IntGetFontLocalizedName(PUNICODE_STRING pNameW, 
PSHARED_FACE SharedFace,
             /* Convert UTF-16 big endian to little endian */
             SwapEndian(Buf, Name.string_len);
 
-            Status = RtlCreateUnicodeString(pNameW, Buf);
+            if (RtlCreateUnicodeString(pNameW, Buf))
+            {
+                Status = STATUS_SUCCESS;
+            }
+            else
+            {
+                Status = STATUS_INSUFFICIENT_RESOURCES;
+            }
         }
     }
 

Reply via email to