From db50fb8726482806c3c25313babd68a18a1133c5 Mon Sep 17 00:00:00 2001 From: Leo Yuriev Date: Thu, 21 Jun 2018 17:26:29 +0300 Subject: [PATCH] mdbx: backport - fix Coverity warning (minor, paranoia). Change-Id: I232377a03244dc33beb4f332c0024b454027f659 --- src/mdbx.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mdbx.c b/src/mdbx.c index c6c8a41b..480b9a38 100644 --- a/src/mdbx.c +++ b/src/mdbx.c @@ -1134,7 +1134,7 @@ const char *__cold mdbx_strerror(int errnum) { const char *msg = __mdbx_strerr(errnum); if (!msg) { #ifdef _MSC_VER - static __thread char buffer[1024]; + static char buffer[1024]; size_t size = FormatMessageA( FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errnum, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buffer, @@ -1142,6 +1142,13 @@ const char *__cold mdbx_strerror(int errnum) { if (size) msg = buffer; #else + if (errnum < 0) { + static char buffer[32]; + int rc = snprintf(buffer, sizeof(buffer) - 1, "unknown error %d", errnum); + assert(rc > 0); + (void)rc; + return buffer; + } msg = strerror(errnum); #endif }