From 78122d13b1d2d9d391e91e739208c8e5e4bae3cb Mon Sep 17 00:00:00 2001 From: Thomas Kunze Date: Sat, 29 Jun 2019 10:37:33 +0200 Subject: [PATCH] copy args --- knxPython/knxmodule.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/knxPython/knxmodule.cpp b/knxPython/knxmodule.cpp index 9a3c62f..36e2e66 100644 --- a/knxPython/knxmodule.cpp +++ b/knxPython/knxmodule.cpp @@ -33,6 +33,7 @@ static void loop() } static std::thread workerThread; +static std::vector argsVector; static std::vector argv; struct StdStringCStrFunctor @@ -42,11 +43,13 @@ struct StdStringCStrFunctor static void Prepare(std::vector args) { + // copy args so we control the livetime of the char* + argsVector = args; //for(int i = 0; i < args.size(); i++) // printf("%s\n", args[i].c_str()); - argv = std::vector(args.size()); - std::transform(args.begin(), args.end(), argv.begin(), StdStringCStrFunctor()); + argv = std::vector(argsVector.size()); + std::transform(argsVector.begin(), argsVector.end(), argv.begin(), StdStringCStrFunctor()); platform = new LinuxPlatform(argv.size(), const_cast(argv.data())); bau = new Bau57B0(*platform);