summaryrefslogtreecommitdiff
path: root/src/analysis/disass/limit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/disass/limit.c')
-rw-r--r--src/analysis/disass/limit.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/analysis/disass/limit.c b/src/analysis/disass/limit.c
index 2ae7ebb..df9f23c 100644
--- a/src/analysis/disass/limit.c
+++ b/src/analysis/disass/limit.c
@@ -28,7 +28,7 @@
/******************************************************************************
* *
* Paramètres : routine = routine dont les frontières sont à fixer. *
-* prev = routine précédente dans les traitements. *
+* next = adresse du prochain symbole présent. *
* proc = ensemble d'instructions désassemblées. *
* portions = ensemble de couches binaires bornées. *
* *
@@ -40,7 +40,7 @@
* *
******************************************************************************/
-void compute_routine_limit(GBinRoutine *routine, GBinRoutine *prev, GArchProcessor *proc, GBinPortion *portions)
+void compute_routine_limit(GBinRoutine *routine, const vmpa2t *next, GArchProcessor *proc, GBinPortion *portions)
{
const mrange_t *range; /* Emplacement courant */
vmpa2t addr; /* Adresse à conserver */
@@ -70,14 +70,9 @@ void compute_routine_limit(GBinRoutine *routine, GBinRoutine *prev, GArchProcess
g_object_unref(G_OBJECT(start));
- /* Si on peut se raccrocher à la routine suivante... */
- if (prev != NULL)
- {
- range = g_binary_routine_get_range(prev);
-
- diff = compute_vmpa_diff(&addr, get_mrange_addr(range));
-
- }
+ /* Si on peut se raccrocher à la prochaine adresse... */
+ if (next != NULL)
+ diff = compute_vmpa_diff(&addr, next);
/* Sinon on va jusqu'à la fin de la zone ! */
else