Commit 7308c2ed authored by Alexander Gramiak's avatar Alexander Gramiak

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.
parent 894e1420
Pipeline #1276 failed with stage
in 60 minutes and 1 second
...@@ -5670,7 +5670,8 @@ free_monitors (struct MonitorInfo *monitors, int n_monitors) ...@@ -5670,7 +5670,8 @@ free_monitors (struct MonitorInfo *monitors, int n_monitors)
{ {
int i; int i;
for (i = 0; i < n_monitors; ++i) for (i = 0; i < n_monitors; ++i)
xfree (monitors[i].name); if (monitors[i].name)
xfree (monitors[i].name);
xfree (monitors); xfree (monitors);
} }
# endif # endif
......
...@@ -5030,7 +5030,8 @@ Internal use only, use `display-monitor-attributes-list' instead. */) ...@@ -5030,7 +5030,8 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
mi->mm_height = height_mm; mi->mm_height = height_mm;
#if GTK_CHECK_VERSION (3, 22, 0) #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) #elif GTK_CHECK_VERSION (2, 14, 0)
mi->name = gdk_screen_get_monitor_plug_name (gscreen, i); mi->name = gdk_screen_get_monitor_plug_name (gscreen, i);
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment