X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cc63d7b267be4c20633a0be7db63b3d88030bee6..eb5b6b0c3c4d9a38bb205b2c8bc9aeeba8674a25:/src/mc/mc_compare.c diff --git a/src/mc/mc_compare.c b/src/mc/mc_compare.c index 5bc8380dc4..bf8dac435d 100644 --- a/src/mc/mc_compare.c +++ b/src/mc/mc_compare.c @@ -9,6 +9,7 @@ #include "mc_private.h" #include "xbt/mmalloc.h" +#include "xbt/mmalloc/mmprivate.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_compare, mc, "Logging specific to mc_compare"); @@ -179,10 +180,10 @@ static int compare_areas_with_type(void *area1, void *area2, mc_snapshot_t snaps // * a pointer leads to the read-only segment of the current object; // * a pointer lead to a different ELF object. - // The pointers are both in the heap: - if(addr_pointed1 > std_heap && (char *)addr_pointed1 < (char*) std_heap + STD_HEAP_SIZE){ - if(!(addr_pointed2 > std_heap && (char *)addr_pointed2 < (char*) std_heap + STD_HEAP_SIZE)) + if(addr_pointed1 > std_heap && addr_pointed1 < mc_snapshot_get_heap_end(snapshot1)){ + if(!(addr_pointed2 > std_heap && addr_pointed2 < mc_snapshot_get_heap_end(snapshot2))) return 1; + // The pointers are both in the heap: return compare_heap_area(addr_pointed1, addr_pointed2, snapshot1, snapshot2, NULL, type->subtype, pointer_level); }