xserver: Branch 'master'

Alan Coopersmith alanc at kemper.freedesktop.org
Tue Jan 5 12:10:12 PST 2016


 os/connection.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit ba71b69f94f00a6f6910597185610668e79c10be
Author: Alan Coopersmith <alan.coopersmith at oracle.com>
Date:   Fri Jan 1 17:34:41 2016 -0800

    Avoid segfault in CloseWellKnownConnections when using -displayfd
    
    When -displayfd is looping through the possible display ids to use,
    if it can't open all the listening sockets for one (say when :0 is
    already in use), it calls CloseWellKnownConnections to close all
    the ListenTransConns entries before the point that ListenTransFds
    was allocated & initialized, so CloseWellKnownConnections would
    segfault trying to read entries from a NULL ListenTransFds pointer.
    
    Introduced by commit 7b02f0b8
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>

diff --git a/os/connection.c b/os/connection.c
index 8e75139..2a4fc8d 100644
--- a/os/connection.c
+++ b/os/connection.c
@@ -523,7 +523,8 @@ CloseWellKnownConnections(void)
         if (ListenTransConns[i] != NULL) {
             _XSERVTransClose(ListenTransConns[i]);
             ListenTransConns[i] = NULL;
-            RemoveNotifyFd(ListenTransFds[i]);
+            if (ListenTransFds != NULL)
+                RemoveNotifyFd(ListenTransFds[i]);
         }
     }
     ListenTransCount = 0;


More information about the xorg-commit mailing list