]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Disallow executing Dolphin as root on Linux
authorEmmanuel Pescosta <emmanuelpescosta099@gmail.com>
Sun, 19 Feb 2017 01:32:48 +0000 (02:32 +0100)
committerEmmanuel Pescosta <emmanuelpescosta099@gmail.com>
Sun, 19 Feb 2017 01:39:52 +0000 (02:39 +0100)
Basically a copy of commit kate/9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e which was
written by Martin Grässlin.

src/main.cpp

index acba8daeddb1c1d9704c24affd416752e06b390f..789a529967b708dffaff6402bfc1ef603bbab314 100644 (file)
 #include <KLocalizedString>
 #include <Kdelibs4ConfigMigrator>
 
+#ifndef Q_OS_WIN
+#include <unistd.h>
+#endif
+#include <iostream>
+
 extern "C" Q_DECL_EXPORT int kdemain(int argc, char **argv)
 {
+#ifndef Q_OS_WIN
+    // Check whether we are running as root
+    if (getuid() == 0) {
+        std::cout << "Executing Dolphin as root is not possible." << std::endl;
+        return EXIT_FAILURE;
+    }
+#endif
+
     QApplication app(argc, argv);
     app.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
     app.setWindowIcon(QIcon::fromTheme(QStringLiteral("system-file-manager"), app.windowIcon()));