[ros-diffs] [dgorbachev] 26741: Check result of ANSI -> Unicode conversion, which can fail in the case of memory shortage.

dgorbachev at svn.reactos.org dgorbachev at svn.reactos.org
Sun May 13 00:54:58 CEST 2007


Author: dgorbachev
Date: Sun May 13 02:54:58 2007
New Revision: 26741

URL: http://svn.reactos.org/svn/reactos?rev=26741&view=rev
Log:
Check result of ANSI -> Unicode conversion, which can fail in the case of 
memory shortage.

Modified:
    trunk/reactos/dll/ntdll/ldr/utils.c

Modified: trunk/reactos/dll/ntdll/ldr/utils.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/utils.c?rev=26741&r1=26740&r2=26741&view=diff
==============================================================================
--- trunk/reactos/dll/ntdll/ldr/utils.c (original)
+++ trunk/reactos/dll/ntdll/ldr/utils.c Sun May 13 02:54:58 2007
@@ -1329,12 +1329,18 @@
                     PLDR_DATA_TABLE_ENTRY* Module,
                     BOOLEAN Load)
 {
+   ANSI_STRING AnsiDllName;
    UNICODE_STRING DllName;
    NTSTATUS Status;
 
    DPRINT("LdrpGetOrLoadModule() called for %s\n", Name);
 
-   RtlCreateUnicodeStringFromAsciiz (&DllName, Name);
+   RtlInitAnsiString(&AnsiDllName, Name);
+   Status = RtlAnsiStringToUnicodeString(&DllName, &AnsiDllName, TRUE);
+   if (!NT_SUCCESS(Status))
+     {
+       return Status;
+     }
 
    Status = LdrFindEntryForName (&DllName, Module, Load);
    if (Load && !NT_SUCCESS(Status))




More information about the Ros-diffs mailing list