From ad3bf849178921ead3bbbd3ba84f4b9405f69253 Mon Sep 17 00:00:00 2001
From: Cyrille Bagard <nocbos@gmail.com>
Date: Sun, 22 Jan 2017 18:21:43 +0100
Subject: Updated virtual addresses when filling the gap between two binary
 areas.

---
 ChangeLog                  |  5 +++++
 src/analysis/disass/area.c | 19 +++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 9edebd6..0c3d3b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)
-- 
cgit v0.11.2-87-g4458