From 1d8cb6f591df6a98552a9b5152bff4f66cec26ee Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Sat, 28 Jul 2018 00:02:02 +0200 Subject: [PATCH] Fix memory errors. --- src/smpi/internals/smpi_global.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/smpi/internals/smpi_global.cpp b/src/smpi/internals/smpi_global.cpp index ea84d0b17e..9701a0ebd7 100644 --- a/src/smpi/internals/smpi_global.cpp +++ b/src/smpi/internals/smpi_global.cpp @@ -426,11 +426,10 @@ typedef void (*smpi_fortran_entry_point_type)(); static int smpi_run_entry_point(smpi_entry_point_type entry_point, std::vector args) { - char noarg[] = {'\0'}; int argc = args.size(); char** argv = new char*[argc + 1]; for (int i = 0; i != argc; ++i) - argv[i] = args[i].empty() ? noarg : xbt_strdup(&args[i].front()); + argv[i] = xbt_strdup(args[i].c_str()); argv[argc] = nullptr; simgrid::smpi::ActorExt::init(&argc, &argv); #if SMPI_IFORT @@ -448,7 +447,7 @@ static int smpi_run_entry_point(smpi_entry_point_type entry_point, std::vector