xserver: Branch 'master'

Adam Jackson ajax at kemper.freedesktop.org
Thu Mar 1 16:33:35 UTC 2018


 randr/randr.c |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 2af0a50a4bb9be9f58681d417ceb9a7029caaf3b
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Feb 28 11:23:41 2018 -0500

    randr: Fix a crash on initialization with GPU screens
    
    RRSetChanged (immediately above) was immune to screens with no master,
    but RRTellChanged was not:
    
        Thread 1 "X" received signal SIGSEGV, Segmentation fault.
        RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
        576             mastersp = rrGetScrPriv(master);
        (gdb) bt
        #0  RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
        #1  0x000055555566f1e9 in RRNoticePropertyChange (value=0x555555bfbf28, property=70, output=0x555555bfef10) at ../../randr/rrproperty.c:153
        #2  RRChangeOutputProperty (output=output at entry=0x555555bfef10, property=<optimized out>, type=type at entry=19, format=format at entry=32, mode=<optimized out>, mode at entry=0, len=len at entry=1, value=0x7fffffffe77c, sendevent=1, pending=0)
            at ../../randr/rrproperty.c:263
        #3  0x000055555566dba5 in RROutputSetNonDesktop (output=output at entry=0x555555bfef10, nonDesktop=nonDesktop at entry=0) at ../../randr/rroutput.c:333
        ...
    
    Reported-by: Michel Dänzer <michel at daenzer.net>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/randr/randr.c b/randr/randr.c
index 339ad3ece..feb54bcc8 100644
--- a/randr/randr.c
+++ b/randr/randr.c
@@ -602,6 +602,8 @@ RRTellChanged(ScreenPtr pScreen)
 
     if (pScreen->isGPU) {
         master = pScreen->current_master;
+        if (!master)
+            return;
         mastersp = rrGetScrPriv(master);
     }
     else {


More information about the xorg-commit mailing list