diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -1735,13 +1735,10 @@ mdb_strerror(int err) { #ifdef _WIN32 - /** HACK: pad 4KB on stack over the buf. Return system msgs in buf. - * This works as long as no function between the call to mdb_strerror - * and the actual use of the message uses more than 4K of stack. - */ + // Avoid potential issue with stack-allocated string by using static variable #define MSGSIZE 1024 -#define PADSIZE 4096 - char buf[MSGSIZE+PADSIZE], *ptr = buf; + static char buf[MSGSIZE]; + char *ptr = buf; #endif int i; if (!err)