DynamoRIO / DynamoRIO/dynamorio

properly handle address overflow in stored end addresses

Open
#704 1 comment 0 reactions 0 assignees View on GitHub
Migrated Priority-Low
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

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.