DynamoRIO / DynamoRIO/dynamorio

switch to dstack at DR initial time

Open
#1,105 6 comments 0 reactions 0 assignees View on GitHub
Migrated OpSys-x64 Priority-High
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

_From [zhao...@google.com](https://code.google.com/u/106321947286816917100/) on March 07, 2013 12:11:56_

Currently, DR use app stack at initialization time, which may have some problems on x64, especially after r1979 , "Use a stack allocated buffer for private_instr_encode"

The problem is I create some instrlist at dr_init including instruction "mov instr => [mem]", DR converts it to "mov immed => [mem]" and then private_instr_encode try to encode it. Because DR uses app stack, the immed would be something value like 0x7fff43d0e980, then a CLIENT_ASSERT triggered in encode_immed:1428
1427 if (size == OPSZ_4) { 1428 CLIENT_ASSERT((val > 0) && (val < INT_MAX), 1429 "encode error: immediate has invalid size"); 1430 }

_Original issue: http://code.google.com/p/dynamorio/issues/detail?id=1105_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.