From 7b99cfbe565e1b2193cefff79f2476c8373b7c61 Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Fri, 1 Apr 2011 19:58:36 +0200 Subject: [PATCH] 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 --- src/backend/utils/error/elog.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; -- 2.11.0