Don't call pgwin32_message_to_UTF16() without CurrentMemoryContext.

Noah Misch <noah@leadboat.com>

Commit: e02571b73f2d8124fe75d7408f9b63d4c5fe03b0
Author: Noah Misch <noah@leadboat.com>
Date: 2017-11-12T21:03:15Z
Releases: 11.0
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 +5 −0
src/backend/utils/mb/mbutils.c modified +4 −2

Discussion