From e4b79d1a1cb7a3b218f1833192c8d30928bf5476 Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Mon, 17 Jul 2017 13:42:53 +0200 Subject: [PATCH] leak plug --- include/xbt/functional.hpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/include/xbt/functional.hpp b/include/xbt/functional.hpp index ca034ba73a..4f475b8af5 100644 --- a/include/xbt/functional.hpp +++ b/include/xbt/functional.hpp @@ -42,11 +42,14 @@ public: char noarg[] = {'\0'}; const int argc = args_->size(); std::vector args = *args_; - std::unique_ptr argv(new char*[argc + 1]); - for (int i = 0; i != argc; ++i) - argv[i] = args[i].empty() ? noarg : &args[i].front(); - argv[argc] = nullptr; - code_(argc, argv.get()); + if (not args.empty()) { + std::unique_ptr argv(new char*[argc + 1]); + for (int i = 0; i != argc; ++i) + argv[i] = args[i].empty() ? noarg : &args[i].front(); + argv[argc] = nullptr; + code_(argc, argv.get()); + } else + code_(argc, nullptr); } }; -- 2.20.1