diff options
| author | Emmanuel Pescosta <[email protected]> | 2017-02-19 02:32:48 +0100 |
|---|---|---|
| committer | Emmanuel Pescosta <[email protected]> | 2017-02-19 02:39:52 +0100 |
| commit | 0bdd8e0b0516555c6233fdc7901e9b417cf89791 (patch) | |
| tree | 150c3e3f9dd206184fa079418ac9acd4ff6ffd31 /src/main.cpp | |
| parent | bea831da5242373d6c60a2b542e535d2721051c0 (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.cpp | 13 |
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())); |
