X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1d2b3b745feba3c5069fe4fdab54a1832fde11e6..3f5a22ee597719eb48bef0979b0628f7b76bfbe9:/src/mc/mc_checkpoint.cpp diff --git a/src/mc/mc_checkpoint.cpp b/src/mc/mc_checkpoint.cpp index 98f3ec78c4..74c26ea9fd 100644 --- a/src/mc/mc_checkpoint.cpp +++ b/src/mc/mc_checkpoint.cpp @@ -196,9 +196,11 @@ static void MC_get_memory_regions(mc_process_t process, mc_snapshot_t snapshot) * * `dl_iterate_phdr` would be more robust but would not work in cross-process. * */ -void MC_find_object_address(std::vector const& maps, mc_object_info_t result) +void MC_find_object_address( + std::vector const& maps, mc_object_info_t result) { - const char *name = basename(result->file_name); + const char* file_name = xbt_strdup(result->file_name.c_str()); + const char *name = basename(file_name); for (size_t i = 0; i < maps.size(); ++i) { simgrid::mc::VmMap const& reg = maps[i]; if (maps[i].pathname.empty() @@ -243,7 +245,6 @@ void MC_find_object_address(std::vector const& maps, mc_obje if (result->end_exec && (const void*) result->end_exec > result->end) result->end = result->end_exec; - xbt_assert(result->file_name); xbt_assert(result->start_rw); xbt_assert(result->start_exec); }