diff --git a/src_main/system/piprocess.cpp b/src_main/system/piprocess.cpp index 9d2906ec..aac3a905 100755 --- a/src_main/system/piprocess.cpp +++ b/src_main/system/piprocess.cpp @@ -106,7 +106,7 @@ void PIProcess::startProc(bool detached) { char ** e = new char*[env.size_s() + 1]; for (int i = 0; i < env.size_s(); ++i) { str = env[i]; - e[i] = new char[str.size() + 1]; + e[i] = new char[str.lengthAscii() + 1]; memcpy(e[i], str.data(), str.lengthAscii()); e[i][str.lengthAscii()] = 0; //cout << e[i] << endl; @@ -175,8 +175,10 @@ void PIProcess::startProc(bool detached) { char * a_ = a[0]; int ai_ = 0; while (a_) { + piCoutObj << "a_" << PIString(a_); clsl << PIString(a_); - a_ = a[ai_++]; + ai_++; + a_ = a[ai_]; } if (execve(str.data(), a, e) < 0) piCoutObj << "\"execve" << str << clsl.join(",") << "\" error :" << errorString();