DynamoRIO / DynamoRIO/dynamorio
properly handle address overflow in stored end addresses
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on March 20, 2012 20:02:37_
xref issue #14 end addresses are stored in a number of places and while some do avoid overflow (fcache.c, heap.c) others like perscache.c do not.
the API as well has some stored end addresses:
typedef struct _module_segment_data_t {
app_pc end; /**< End address of the segment, page-aligned forward. */
struct _module_data_t {
/**
\* Ending address of this module. Note that on Linux the module may not
\* be contiguous: there may be gaps containing other objects between start
\* and end. Use the segments array to examine each mapped region on Linux.
*/
app_pc end;
better to have the size in the API and let client handle how it wants.
for internal to DR have to either avoid (fcache, heap) or store closed-end or store NULL or store size: any method requires extra checks.
_Original issue: http://code.google.com/p/dynamorio/issues/detail?id=704_
Contributor guide
Assessment
This issue has not been assessed yet.