┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorEmmanuel Pescosta <[email protected]>2017-02-19 02:32:48 +0100
committerEmmanuel Pescosta <[email protected]>2017-02-19 02:39:52 +0100
commit0bdd8e0b0516555c6233fdc7901e9b417cf89791 (patch)
tree150c3e3f9dd206184fa079418ac9acd4ff6ffd31 /src/main.cpp
parentbea831da5242373d6c60a2b542e535d2721051c0 (diff)
Disallow executing Dolphin as root on Linux
Basically a copy of commit kate/9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e which was written by Martin Grässlin.
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index acba8daed..789a52996 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -35,8 +35,21 @@
#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()));