Index: src/common/ConfigReader.cpp
--- src/common/ConfigReader.cpp.orig
+++ src/common/ConfigReader.cpp
@@ -281,7 +281,10 @@ namespace SDDM {
 
         // loading and checking phase
         QFile file(m_path);
-        file.open(QIODevice::ReadOnly); // first just for reading
+        if (!file.open(QIODevice::ReadOnly)) {
+            qInfo() << "Could not open file to read: " << m_path;
+            return;
+        }
         while (!file.atEnd()) {
             const QString line = QString::fromUtf8(file.readLine());
             // get rid of comments first
@@ -350,7 +353,10 @@ namespace SDDM {
 
         // rewrite the whole thing only if there are changes
         if (changed) {
-            file.open(QIODevice::WriteOnly | QIODevice::Truncate);
+            if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
+                 qInfo() << "Could not open file to write: " << m_path;
+                 return;
+            }
             for (const ConfigSection *s : sectionOrder)
                 file.write(sectionData.value(s));
 
