fix: wordexp func double free err

when BADCHAR err, no need to execute wordtree.

Bug: https://pms.uniontech.com/bug-view-169929.html
Log:
Change-Id: I069a6c8c32017c8a9b16453a70c5367f89bf6bc8
This commit is contained in:
liujianqiang 2022-11-04 22:50:59 +08:00
parent 25877195e6
commit 59e17fa0b6
2 changed files with 9 additions and 0 deletions

View File

@ -1254,6 +1254,9 @@ void App::exec(QString cmd, QString env, QString cwd)
if (cmd.isEmpty() || cmd.isNull()) {
appCmd = d->r->process->args;
}
if(appCmd.isEmpty()){
return;
}
p.setargs(appCmd);
auto data = dump(&p).toStdString();

View File

@ -102,14 +102,20 @@ QStringList splitExec(const QString &exec)
switch (ret) {
case WRDE_BADCHAR:
errMessage = "BADCHAR";
qWarning() << "wordexp error: " << errMessage;
return {};
case WRDE_BADVAL:
errMessage = "BADVAL";
break;
case WRDE_CMDSUB:
errMessage = "CMDSUB";
break;
case WRDE_NOSPACE:
errMessage = "NOSPACE";
break;
case WRDE_SYNTAX:
errMessage = "SYNTAX";
break;
default:
errMessage = "unknown";
}