diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2017-01-22 17:21:43 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2017-01-22 17:21:43 (GMT) |
commit | ad3bf849178921ead3bbbd3ba84f4b9405f69253 (patch) | |
tree | 97b3d91a3f8771207fff873f2afa75a2b39d01db | |
parent | 93463ae02aa643d6370c7ed5bf61a815949b0d41 (diff) |
Updated virtual addresses when filling the gap between two binary areas.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/analysis/disass/area.c | 19 |
2 files changed, 24 insertions, 0 deletions
@@ -1,3 +1,8 @@ +17-01-22 Cyrille Bagard <nocbos@gmail.com> + + * src/analysis/disass/area.c: + Update virtual addresses when filling the gap between two binary areas. + 17-01-20 Cyrille Bagard <nocbos@gmail.com> * src/analysis/disass/disassembler.c: diff --git a/src/analysis/disass/area.c b/src/analysis/disass/area.c index 389dd75..8da8b60 100644 --- a/src/analysis/disass/area.c +++ b/src/analysis/disass/area.c @@ -1262,6 +1262,25 @@ static void g_area_collector_do_compute(GAreaCollector *collector, GtkStatusStac } + else + { + /** + * La comparaison entre les bordures se réalise selon les positions + * physiques renseignées. + * + * Aussi, même dans le cas d'une jointure sans espace, il se peut que + * la transition concerne deux zones aux adresses virtuelles non + * consécutives. + * + * Comme "old" est mise à jour pour devenir le point de départ de + * la zone suivante, on se doit de même à jour les deux positions : + * physique et virtuelle. + */ + + copy_vmpa(old, new); + + } + } bool build_area_from_portion(GBinPortion *portion, GBinPortion *parent, BinaryPortionVisit visit, void *unused) |