----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/129995/#review102746 -----------------------------------------------------------
Fix it, then Ship it! runners/kill/killrunner.cpp (line 185) <https://git.reviewboard.kde.org/r/129995/#comment68398> just put it on the stack, that way you don't have to worry about any manual deletions. Or use the static QProcess::execute which wraps it all anyway. - David Edmundson On March 7, 2017, 7:15 a.m., Leslie Zhai wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/129995/ > ----------------------------------------------------------- > > (Updated March 7, 2017, 7:15 a.m.) > > > Review request for Plasma, Aleix Pol Gonzalez and Kai Uwe Broulik. > > > Repository: plasma-workspace > > > Description > ------- > > Hi KDE developers, > > Bug reported by the clang static analyzer. > > Description: Potential leak of memory pointed to by 'process' > File: plasma-workspace/runners/kill/killrunner.cpp > Line: 186 > > ``` > 168 void KillRunner::run(const Plasma::RunnerContext &context, const > Plasma::QueryMatch &match) > 169 { > 170 Q_UNUSED(context) > 171 > 172 QVariantList data = match.data().value<QVariantList>(); > 173 quint64 pid = data[0].toUInt(); > 174 // QString user = data[1].toString(); > 175 > 176 int signal; > 177 if (match.selectedAction() != NULL) { > > Assuming the condition is false > ? > > ? > Taking false branch > ? > 178 signal = match.selectedAction()->data().toInt(); > 179 } else { > 180 signal = 9; //default: SIGKILL > 181 } > 182 > 183 QStringList args; > 184 args << QStringLiteral("-%1").arg(signal) << > QStringLiteral("%1").arg(pid); > 185 KProcess *process = new KProcess(this); > > ? > Memory is allocated > ? > 186 int returnCode = process->execute(QStringLiteral("kill"), args); > > ? > Within the expansion of the macro 'QStringLiteral': > a > Potential leak of memory pointed to by 'process' > > 187 > 188 if (returnCode == 0) > ``` > > So I simply add ```delete process``` to free the allocated memory. > > Regards, > Leslie Zhai > > > Diffs > ----- > > runners/kill/killrunner.cpp 5c2e8529 > > Diff: https://git.reviewboard.kde.org/r/129995/diff/ > > > Testing > ------- > > > Thanks, > > Leslie Zhai > >