[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#842174: [sddm] sddm crashes when second session is started



¡Hola Johannes!

El 2016-11-11 a las 11:01 +0100, Maximiliano Curia escribió:
I'm attaching it, please let me know if you can test this.

Ups, here it goes.


--
"Politicians and diapers have one thing in common. They should both be changed
regularly, and for the same reason." ― José Maria de Eça de Queiroz
Saludos /\/\ /\ >< `/

From: Maximiliano Curia <maxy@gnuservers.com.ar>
Date: Fri, 11 Nov 2016 10:23:38 +0100
Subject: handle reading from a closed file handle

---
 src/daemon/XorgDisplayServer.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp
index d06d89a..72ba640 100644
--- a/src/daemon/XorgDisplayServer.cpp
+++ b/src/daemon/XorgDisplayServer.cpp
@@ -188,6 +188,12 @@ namespace SDDM {
                 return false;
             }
             QByteArray displayNumber = readPipe.readLine();
+            if (displayNumber.isEmpty()) {
+                // the file descriptor was closed without a display number,
+                // the X has probably died.
+                close(pipeFds[0]);
+                return false;
+            }
             displayNumber.prepend(QByteArray(":"));
             displayNumber.remove(displayNumber.size() -1, 1); //trim trailing whitespace
             m_display = QString::fromLocal8Bit(displayNumber);

Attachment: signature.asc
Description: PGP signature


Reply to: