]> git.sur5r.net Git - openldap/commitdiff
Tweak Win32 errmsg buffer
authorHoward Chu <hyc@openldap.org>
Mon, 15 Feb 2016 00:07:04 +0000 (00:07 +0000)
committerHoward Chu <hyc@openldap.org>
Mon, 15 Feb 2016 00:07:04 +0000 (00:07 +0000)
libraries/liblmdb/mdb.c

index cddc7460436333385ec8484322abe4e31cc823cd..f5980807f627340e7174f5a33a3350b815ce7f50 100644 (file)
@@ -1572,8 +1572,9 @@ mdb_strerror(int err)
         *      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.
         */
-       char pad[4096];
-       char buf[1024], *ptr = buf;
+#define MSGSIZE        1024
+#define PADSIZE 4096
+       char buf[MSGSIZE+PADSIZE], *ptr = buf;
 #endif
        int i;
        if (!err)
@@ -1605,7 +1606,7 @@ mdb_strerror(int err)
        buf[0] = 0;
        FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM |
                FORMAT_MESSAGE_IGNORE_INSERTS,
-               NULL, err, 0, ptr, sizeof(buf), (va_list *)pad);
+               NULL, err, 0, ptr, MSGSIZE, (va_list *)buf+MSGSIZE);
        return ptr;
 #else
        return strerror(err);