]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#8975 WIN32: Skip setting file pointer for write maps
authorKris Zyp <kriszyp@gmail.com>
Wed, 6 Feb 2019 20:49:27 +0000 (13:49 -0700)
committerHoward Chu <hyc@openldap.org>
Sun, 10 Feb 2019 10:11:53 +0000 (10:11 +0000)
CreateFileMapping already takes care of it.

libraries/liblmdb/mdb.c

index 22740ce80fb559938df11b3feee54d81954e9312..1e71e3b6354e39c14e9d18b76bdefb779d5bb9e1 100644 (file)
@@ -3991,9 +3991,9 @@ mdb_env_map(MDB_env *env, void *addr)
                 * and won't map more than the file size.
                 * Just set the maxsize right now.
                 */
-               if (SetFilePointer(env->me_fd, sizelo, &sizehi, 0) != (DWORD)sizelo
+               if (!(flags & MDB_WRITEMAP) && (SetFilePointer(env->me_fd, sizelo, &sizehi, 0) != (DWORD)sizelo
                        || !SetEndOfFile(env->me_fd)
-                       || SetFilePointer(env->me_fd, 0, NULL, 0) != 0)
+                       || SetFilePointer(env->me_fd, 0, NULL, 0) != 0))
                        return ErrCode();
        }