Small fixes for better cross-platform compatibility (#200)

* Add ifdef check before the Microsoft-specific movsq in memory.cc

* Added ifdef before Microsoft-specific movsq and replaced with memcpy in other cases. In memory.cc

* Update image_sha_bytes_ from 16 to 20  xex_module.h

The value 16 is less than the expected value 20, causing a buffer overflow during sha1 finalization.

* Update image_sha_bytes_ loop from 16 to 20 iterations xex_module.cc

* Update mapped_memory_posix.cc: Must resize file to map_length.

* Should not map nullptr with MAP_FIXED flag. Update memory_posix.cc.
This commit is contained in:
none
2023-10-21 17:07:29 +02:00
committed by GitHub
parent 9f1605a2e7
commit d8aa14da73
5 changed files with 13 additions and 2 deletions

View File

@@ -58,6 +58,7 @@ class PosixMappedMemory : public MappedMemory {
void* data =
mmap(0, map_length, protection, MAP_SHARED, file_descriptor, offset);
ftruncate(file_descriptor, map_length);
if (!data) {
close(file_descriptor);
return nullptr;