Avoid palloc before CurrentMemoryContext is set up on win32

Instead, write the unconverted output - it will be in the wrong
encoding, but at least we don't crash.

Rushabh Lathia
This commit is contained in:
Magnus Hagander 2011-04-01 19:58:36 +02:00
parent e49ad77ff9
commit 5735efee15
1 changed files with 5 additions and 1 deletions

View File

@ -1668,10 +1668,14 @@ write_console(const char *line, int len)
/*
* WriteConsoleW() will fail of stdout is redirected, so just fall through
* to writing unconverted to the logfile in this case.
*
* Since we palloc the structure required for conversion, also fall through
* to writing unconverted if we have not yet set up CurrentMemoryContext.
*/
if (GetDatabaseEncoding() != GetPlatformEncoding() &&
!in_error_recursion_trouble() &&
!redirection_done)
!redirection_done &&
CurrentMemoryContext != NULL)
{
WCHAR *utf16;
int utf16len;