diff --git a/dll/win32/msvcrt20/msvcrt20.c b/dll/win32/msvcrt20/msvcrt20.c index 0bda9aa8172..8d1a6eca4e8 100644 --- a/dll/win32/msvcrt20/msvcrt20.c +++ b/dll/win32/msvcrt20/msvcrt20.c @@ -53,6 +53,8 @@ extern char** __initenv; /* pointer to initial environment block */ extern wchar_t** _wenviron; /* pointer to environment block */ extern wchar_t** __winitenv; /* pointer to initial environment block */ + +extern BOOL msvcrt_init_heap(void); extern void CDECL __getmainargs(int *argc, char** *argv, char** *envp, int expand_wildcards, int *new_mode); extern void CDECL __wgetmainargs(int *argc, WCHAR** *wargv, WCHAR** *wenvp, @@ -82,6 +84,9 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) if (!msvcrt_init_tls()) return FALSE; + if (!msvcrt_init_heap()) + return FALSE; + if (BlockEnvToEnvironA() < 0) return FALSE; diff --git a/dll/win32/msvcrt40/msvcrt40.c b/dll/win32/msvcrt40/msvcrt40.c index 1509cf3cd4a..3c015094782 100644 --- a/dll/win32/msvcrt40/msvcrt40.c +++ b/dll/win32/msvcrt40/msvcrt40.c @@ -54,6 +54,8 @@ extern char** __initenv; /* pointer to initial environment block */ extern wchar_t** _wenviron; /* pointer to environment block */ extern wchar_t** __winitenv; /* pointer to initial environment block */ +extern BOOL msvcrt_init_heap(void); + /* LIBRARY ENTRY POINT ********************************************************/ BOOL @@ -78,6 +80,9 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) if (!msvcrt_init_tls()) return FALSE; + if (!msvcrt_init_heap()) + return FALSE; + if (BlockEnvToEnvironA() < 0) return FALSE;