x11: Check return of gdk_x11_get_xatom_name_for_display
authorDr. David Alan Gilbert <dave@treblig.org>
Thu, 31 Mar 2022 14:56:09 +0000 (15:56 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 21 Apr 2022 23:17:54 +0000 (19:17 -0400)
When given an invalid atom, gdk_x11_get_xatom_name_for_display can
return NULL and trigger a seg in gdk_x11_clipboard_formats_from_atoms.
Check for NULL.

Why I'm seeing a bad atom there is probably a separate question.
https://bugzilla.redhat.com/show_bug.cgi?id=2037786

gdk/x11/gdkclipboard-x11.c

index 4335674102834982e6b949897ad8754f6cab7d31..db2815ed528af18fd8a84068628da2fa6400165e 100644 (file)
@@ -248,6 +248,10 @@ gdk_x11_clipboard_formats_from_atoms (GdkDisplay *display,
       const char *name;
 
       name = gdk_x11_get_xatom_name_for_display (display , atoms[i]);
+      if (!name)
+        {
+          continue;
+        }
       if (strchr (name, '/'))
         {
           gdk_content_formats_builder_add_mime_type (builder, name);