We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hello,
I'm hitting an OOB read access in the below code:
void __bea_callspec__ FixOpSizeForMemoryOperand (PDISASM pMyDisasm) { int i = GV.MemDecoration / 100; if (ArgsSize[GV.MemDecoration - (i*100+1)] != 0) {
Basically, the following arithmetic GV.MemDecoration - (i*100+1) is equal to -1 which makes it access 4 bytes before the array:
GV.MemDecoration - (i*100+1)
0:004> ?? pMyDisasm->Reserved_.MemDecoration int 0n0 0:004> ?? i int 0n0
This has been caught using address-sanitizer on Windows:
================================================================= ==16444==ERROR: AddressSanitizer: global-buffer-overflow on address 0x7ff67bf4dbfc at pc 0x7ff67bbd3a36 bp 0x002bd7cfd680 sp 0x002bd7cfd688 READ of size 4 at 0x7ff67bf4dbfc thread T16777215 #0 0x7ff67bbd3a35 in FixOpSizeForMemoryOperand C:\work\codes\rp\src\third_party\beaengine\src\Includes\Routines_Disasm.c:192 #1 0x7ff67bce538d in Disasm C:\work\codes\rp\src\third_party\beaengine\src\Includes\Routines_Disasm.c:35 #2 0x7ff67ba75cfd in IntelBeaEngine::disass(unsigned char const *, unsigned __int64, unsigned __int64, enum DisassEngineReturn &) C:\work\codes\rp\src\rp\intelbeaengine.hpp:28
Cheers
The text was updated successfully, but these errors were encountered:
fix BeaEngine/beaengine#38 & BeaEngine/beaengine#39
aa5b29d
No branches or pull requests
Hello,
I'm hitting an OOB read access in the below code:
Basically, the following arithmetic
GV.MemDecoration - (i*100+1)
is equal to -1 which makes it access 4 bytes before the array:This has been caught using address-sanitizer on Windows:
Cheers
The text was updated successfully, but these errors were encountered: