Don't call pgwin32_message_to_UTF16() without CurrentMemoryContext.

Noah Misch <noah@leadboat.com>

Commit: 30e99efe82c71c0320983dee5a9789e9f3f8a8e3
Author: Noah Misch <noah@leadboat.com>
Date: 2017-11-12T21:05:55Z
Releases: 9.3.21
Don't call pgwin32_message_to_UTF16() without CurrentMemoryContext.

PostgreSQL running as a Windows service crashed upon calling
write_stderr() before MemoryContextInit().  This fix completes work
started in 5735efee15540765315aa8c1a230575e756037f7.  Messages this
early contain only ASCII bytes; if we removed the CurrentMemoryContext
requirement, the ensuing conversions would have no effect.  Back-patch
to 9.3 (all supported versions).

Takayuki Tsunakawa, reviewed by Michael Paquier.

Discussion: https://postgr.es/m/0A3221C70F24FB45833433255569204D1F80CC73@G01JPEXMBYT05

Files

PathChange+/−
src/backend/utils/error/elog.c modified +6 −1

Discussion