emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 7308c2e: Fix segmentation fault with gdk_monitor_ge


From: Alexander Gramiak
Subject: [Emacs-diffs] master 7308c2e: Fix segmentation fault with gdk_monitor_get_model (Bug#35259)
Date: Sat, 13 Apr 2019 18:14:55 -0400 (EDT)

branch: master
commit 7308c2edfbd600e19685bf2cde099e46be3398c8
Author: Alexander Gramiak <address@hidden>
Commit: Alexander Gramiak <address@hidden>

    Fix segmentation fault with gdk_monitor_get_model (Bug#35259)
    
    * src/frame.c (free_monitors): Check if NULL before freeing.
    
    * src/xfns.c: (x-display-monitor-attributes-list): Check if NULL
    before copying.
---
 src/frame.c | 3 ++-
 src/xfns.c  | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/frame.c b/src/frame.c
index 192ef42..22a3996 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -5670,7 +5670,8 @@ free_monitors (struct MonitorInfo *monitors, int 
n_monitors)
 {
   int i;
   for (i = 0; i < n_monitors; ++i)
-    xfree (monitors[i].name);
+    if (monitors[i].name)
+      xfree (monitors[i].name);
   xfree (monitors);
 }
 # endif
diff --git a/src/xfns.c b/src/xfns.c
index 13f66f0..dd1d899 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5030,7 +5030,8 @@ Internal use only, use `display-monitor-attributes-list' 
instead.  */)
       mi->mm_height = height_mm;
 
 #if GTK_CHECK_VERSION (3, 22, 0)
-      mi->name = xstrdup (gdk_monitor_get_model (monitor));
+      if (gdk_monitor_get_model (monitor))
+        mi->name = xstrdup (gdk_monitor_get_model (monitor));
 #elif GTK_CHECK_VERSION (2, 14, 0)
       mi->name = gdk_screen_get_monitor_plug_name (gscreen, i);
 #endif



reply via email to

[Prev in Thread] Current Thread [Next in Thread]