diff --git a/src/modules/startmanager/startmanager.cpp b/src/modules/startmanager/startmanager.cpp index f0dba50..3f56ceb 100644 --- a/src/modules/startmanager/startmanager.cpp +++ b/src/modules/startmanager/startmanager.cpp @@ -430,6 +430,7 @@ bool StartManager::launch(DesktopInfo *info, QString cmdLine, uint32_t timestamp auto ret = wordexp(stdCmdLine.c_str(), &words, 0); if (ret != 0) { qCritical() << "wordexp failed, error code:" << ret; + wordfree(&words); return false; } @@ -437,6 +438,8 @@ bool StartManager::launch(DesktopInfo *info, QString cmdLine, uint32_t timestamp exeArgs << words.we_wordv[i]; } + wordfree(&words); + handleRecognizeArgs(exeArgs, files); if (info->getTerminal()) {