From 47c93ace9fd1e3ed90defb3a478ad2287342b22d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 26 Dec 2018 15:30:10 -0500 Subject: [PATCH] Fix portability failure introduced in commits d2b0b60e7 et al. I made a frontend fprintf() format use %m, forgetting that that's only safe in HEAD not the back branches; prior to 96bf88d52 and d6c55de1f, it would work on glibc platforms but not elsewhere. Revert to using %s ... strerror(errno) as the code did before. We could have left HEAD as-is, but for code consistency across branches, I chose to apply this patch there too. Per Coverity and a few buildfarm members. --- src/common/psprintf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/psprintf.c b/src/common/psprintf.c index 1254a9ed4d..83b4202c71 100644 --- a/src/common/psprintf.c +++ b/src/common/psprintf.c @@ -131,7 +131,8 @@ pvsnprintf(char *buf, size_t len, const char *fmt, va_list args) #ifndef FRONTEND elog(ERROR, "vsnprintf failed: %m with format string \"%s\"", fmt); #else - fprintf(stderr, "vsnprintf failed: %m with format string \"%s\"\n", fmt); + fprintf(stderr, "vsnprintf failed: %s with format string \"%s\"\n", + strerror(errno), fmt); exit(EXIT_FAILURE); #endif }