summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Keller <skeller@gnome.org>2023-04-13 01:36:45 +0200
committerMarge Bot <marge-bot@gnome.org>2023-04-14 13:27:19 +0000
commit6fbe4286eab576168b7f83b46207ad672de14de7 (patch)
treece1f1d0683a5a636391907b89e2f6c28c0517eb3
parent94bd5c731991a2523e6ee60fffe67030479e5340 (diff)
downloadmutter-6fbe4286eab576168b7f83b46207ad672de14de7.tar.gz
x11: Fix remaining leaks from switch to XGetAtomName()
After this got changed from gdk_x11_get_xatom_name() to XGetAtomName(), this no longer returns a const char* and it now also needs to be freed. Fixes: e66f4396e ("x11: Avoid GDK API in X11 selections") Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2957>
-rw-r--r--src/x11/meta-selection-source-x11.c4
-rw-r--r--src/x11/meta-x11-selection.c3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/x11/meta-selection-source-x11.c b/src/x11/meta-selection-source-x11.c
index 35451542b..a154b21af 100644
--- a/src/x11/meta-selection-source-x11.c
+++ b/src/x11/meta-selection-source-x11.c
@@ -155,7 +155,7 @@ atoms_to_mimetypes (MetaX11Display *display,
for (i = 0; i < n_atoms; i++)
{
- const gchar *mimetype;
+ char *mimetype;
meta_x11_error_trap_push (display);
mimetype = XGetAtomName (xdisplay, atoms[i]);
@@ -170,6 +170,8 @@ atoms_to_mimetypes (MetaX11Display *display,
text_plain_found |= strcmp (mimetype, "text/plain") == 0;
utf8_string_found |= strcmp (mimetype, "UTF8_STRING") == 0;
string_found |= strcmp (mimetype, "STRING") == 0;
+
+ XFree (mimetype);
}
/* Ensure non-x11 clients get well-known mimetypes */
diff --git a/src/x11/meta-x11-selection.c b/src/x11/meta-x11-selection.c
index 0700fb506..66a1d1803 100644
--- a/src/x11/meta-x11-selection.c
+++ b/src/x11/meta-x11-selection.c
@@ -185,7 +185,7 @@ meta_x11_selection_find_target (MetaX11Display *x11_display,
{
Display *xdisplay = meta_x11_display_get_xdisplay (x11_display);
GList* mimetypes = NULL;
- const gchar *atom_name;
+ char *atom_name;
char *retval;
mimetypes = meta_selection_get_mimetypes (selection, selection_type);
@@ -213,6 +213,7 @@ meta_x11_selection_find_target (MetaX11Display *x11_display,
}
g_list_free_full (mimetypes, g_free);
+ XFree (atom_name);
return retval;
}