https://git.reactos.org/?p=reactos.git;a=commitdiff;h=862b82f3fac4ab952c556…
commit 862b82f3fac4ab952c556ffdfde6b8164cd3117c
Author: Thomas Faber <thomas.faber(a)reactos.org>
AuthorDate: Wed Jan 31 12:34:41 2018 +0100
Commit: Thomas Faber <thomas.faber(a)reactos.org>
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;
+ }
}
}