summaryrefslogtreecommitdiff
path: root/plugins/stackvars
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/stackvars')
-rw-r--r--plugins/stackvars/stackvars.c7
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;