diff options
Diffstat (limited to 'plugins/stackvars')
-rw-r--r-- | plugins/stackvars/stackvars.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/plugins/stackvars/stackvars.c b/plugins/stackvars/stackvars.c index 87ecf05..b440348 100644 --- a/plugins/stackvars/stackvars.c +++ b/plugins/stackvars/stackvars.c @@ -139,6 +139,7 @@ G_MODULE_EXPORT bool execute_action_on_binary(GLoadedBinary *binary, PluginActio static bool replace_stack_vars_in_routine(GBinRoutine *routine, GRenderingLine *lines) { bool result; /* Bilan à retourner */ + const mrange_t *range; /* Emplacement du symbole */ vmpa_t start; /* Adresse de début de routine */ vmpa_t end; /* Adresse de fin de routine */ GRenderingLine *iter; /* Boucle de parcours */ @@ -146,8 +147,10 @@ static bool replace_stack_vars_in_routine(GBinRoutine *routine, GRenderingLine * result = false; - start = g_binary_routine_get_address(routine); - end = start + g_binary_routine_get_size(routine); + range = g_binary_symbol_get_range(G_BIN_SYMBOL(routine)); + + start = get_mrange_addr(range)->virtual; + end = start + get_mrange_length(range); for (iter = g_rendering_line_find_by_address(lines, NULL, start); iter != NULL && get_rendering_line_address(iter) < end; |