From: Magnus Hagander Date: Fri, 1 Apr 2011 17:58:36 +0000 (+0200) Subject: Avoid palloc before CurrentMemoryContext is set up on win32 X-Git-Tag: REL9_0_4~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7b99cfbe565e1b2193cefff79f2476c8373b7c61;p=postgresql 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 --- diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index feb0bd51fc..71aed1e0f1 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -1658,10 +1658,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;