]> 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>
Wed, 4 May 2016 09:44:35 +0000 (10:44 +0100)
libraries/liblmdb/mdb.c

index d2e81e4e9c541569279bddcee5d97c9a9ef24fb1..68a2242468e8fec82520dae004e01275f20059d3 100644 (file)
@@ -1417,8 +1417,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)
@@ -1450,7 +1451,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);