ports/x11/kde4-runtime/files/patch-kdesu_kdesu_kdesu.cpp
Raphael Kubo da Costa 764393921f Add patch for CVE-2016-7787 in kdesu.
MFH:		2017Q1
Security:	41fe4724-06a2-11e7-8e3e-5453ed2e2b49
2017-03-11 21:42:56 +00:00

27 lines
880 B
C++

Fix for https://www.kde.org/info/security/advisory-20160930-1.txt
--- kdesu/kdesu/kdesu.cpp.orig 2014-10-30 23:50:20 UTC
+++ kdesu/kdesu/kdesu.cpp
@@ -141,6 +141,10 @@ int main(int argc, char *argv[])
{
KMessageBox::sorry(0, i18n("Cannot execute command '%1'.", QString::fromLocal8Bit(command)));
}
+ if (result == -2)
+ {
+ KMessageBox::sorry(0, i18n("Cannot execute command '%1'. It contains invalid characters.", QString::fromLocal8Bit(command)));
+ }
return result;
}
@@ -367,6 +371,12 @@ static int startApp()
kDebug() << "Don't need password!!\n";
}
+ for (const QChar character : QString::fromLocal8Bit(command)) {
+ if (!character.isPrint() && character.category() != QChar::Other_Surrogate) {
+ return -2;
+ }
+ }
+
// Start the dialog
QString password;
if (needpw)