ITS#8975 WIN32: Skip setting file pointer for write maps

CreateFileMapping already takes care of it.
This commit is contained in:
Kris Zyp 2019-02-06 13:49:27 -07:00 committed by Howard Chu
parent 8c39ba1077
commit ea30be6109

View 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();
}