]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid possible NULL pointer dereference found by GCC 6.1.1
authorDmitry Antipov <dmantipov@yandex.ru>
Wed, 29 Jun 2016 04:46:59 +0000 (07:46 +0300)
committerDmitry Antipov <dmantipov@yandex.ru>
Wed, 29 Jun 2016 04:46:59 +0000 (07:46 +0300)
* src/xfns.c (x_get_monitor_attributes_xrandr): Always check
the value returned by XRRGetOutputInfo.

src/xfns.c

index 1120c330e8b08e51e5bb72cf7d8b78f4c0857186..265eb6c65ac0e383aaa20cd1ca581ecf229c9e86 100644 (file)
@@ -4295,8 +4295,8 @@ x_get_monitor_attributes_xrandr (struct x_display_info *dpyinfo)
     {
       XRROutputInfo *info = XRRGetOutputInfo (dpy, resources,
                                               resources->outputs[i]);
-      Connection conn = info ? info->connection : RR_Disconnected;
-      RRCrtc id = info ? info->crtc : None;
+      if (!info)
+       continue;
 
       if (strcmp (info->name, "default") == 0)
         {
@@ -4307,9 +4307,9 @@ x_get_monitor_attributes_xrandr (struct x_display_info *dpyinfo)
           return Qnil;
         }
 
-      if (conn != RR_Disconnected && id != None)
+      if (info->connection != RR_Disconnected && info->crtc != None)
         {
-          XRRCrtcInfo *crtc = XRRGetCrtcInfo (dpy, resources, id);
+          XRRCrtcInfo *crtc = XRRGetCrtcInfo (dpy, resources, info->crtc);
           struct MonitorInfo *mi = &monitors[i];
           XRectangle workarea_r;