Fix portability failure introduced in commits d2b0b60e7 et al.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 26 Dec 2018 20:30:10 +0000 (15:30 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 26 Dec 2018 20:30:10 +0000 (15:30 -0500)
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

index 411713bac8420af92560eafb32856d202ce6e00a..cdbc04fe39a5801c9761cf8e88825206829dfa4d 100644 (file)
@@ -115,7 +115,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
    }