Fix Unix ARM JIT_MemCpy and JIT_MemSet (#21141)
authorJan Vorlicek <janvorli@microsoft.com>
Wed, 21 Nov 2018 18:20:01 +0000 (19:20 +0100)
committerGitHub <noreply@github.com>
Wed, 21 Nov 2018 18:20:01 +0000 (19:20 +0100)
commit9170c7f90a55befbd4b43db3a824479592a96eb7
treec5011e5646f2479ebd5804ad4a383f0a5ba7cda0
parent844aa45629e683d546e98e4a8bb5dd660f8dacae
Fix Unix ARM JIT_MemCpy and JIT_MemSet (#21141)

The functions were incorrectly using 4 byte loads to probe for
the address validity. While the comment on JIT_MemCpy requires
4 byte aligned address, it doesn't match the way JIT uses it and
the Windows version of the function works with unaligned addresses
too.
This bug was discovered as a crash in an application where the
JIT_MemCpy was called with count=2 and an address that was two
bytes below the end of a memory page where the following page
was not mapped.
src/vm/arm/crthelpers.S