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

Bug#1038433: bookworm-pu: package libmatekbd/1.26.0-1+deb12u1



Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: libmatekbd@packages.debian.org
Control: affects -1 + src:libmatekbd

[ Reason ]
Fix of two memleaks in the drawing code of libmatekbd's keyboard layouts.

[ Impact ]
MATE users when opening the keyboard layout UI.

[ Tests ]
Patch review + manual smoke test (MATE keyboard layout displays fine still).

[ Risks ]
Minimal.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]

+  * debian/patches:
+    + Add 0001_matekbd-keyboard-drawing-fix-memory-leak.patch and
+      0002_matekbd-keyboard-drawing-fix-memory-leak.patch. Fix two memory
+      leaks. Cherry-picked from recent upstream release v1.26.1.
+      (Closes: #1038430).

[ Other info ]
None.
diff -Nru libmatekbd-1.26.0/debian/changelog libmatekbd-1.26.0/debian/changelog
--- libmatekbd-1.26.0/debian/changelog	2021-12-10 22:11:08.000000000 +0100
+++ libmatekbd-1.26.0/debian/changelog	2023-06-18 09:09:08.000000000 +0200
@@ -1,3 +1,13 @@
+libmatekbd (1.26.0-1+deb12u1) bookworm; urgency=medium
+
+  * debian/patches:
+    + Add 0001_matekbd-keyboard-drawing-fix-memory-leak.patch and
+      0002_matekbd-keyboard-drawing-fix-memory-leak.patch. Fix two memory
+      leaks. Cherry-picked from recent upstream release v1.26.1.
+      (Closes: #1038430).
+
+ -- Mike Gabriel <sunweaver@debian.org>  Sun, 18 Jun 2023 09:09:08 +0200
+
 libmatekbd (1.26.0-1) unstable; urgency=medium
 
   [ Martin Wimpress ]
diff -Nru libmatekbd-1.26.0/debian/patches/0001_matekbd-keyboard-drawing-fix-memory-leak.patch libmatekbd-1.26.0/debian/patches/0001_matekbd-keyboard-drawing-fix-memory-leak.patch
--- libmatekbd-1.26.0/debian/patches/0001_matekbd-keyboard-drawing-fix-memory-leak.patch	1970-01-01 01:00:00.000000000 +0100
+++ libmatekbd-1.26.0/debian/patches/0001_matekbd-keyboard-drawing-fix-memory-leak.patch	2023-06-18 08:36:13.000000000 +0200
@@ -0,0 +1,74 @@
+From ff9924aacd16a70816ec8acdff9b0a87a5cfd343 Mon Sep 17 00:00:00 2001
+From: rbuj <robert.buj@gmail.com>
+Date: Fri, 28 Jan 2022 11:26:20 +0100
+Subject: [PATCH 1/3] matekbd-keyboard-drawing: fix memory leak
+
+Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+---
+ libmatekbd/matekbd-keyboard-drawing.c | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/libmatekbd/matekbd-keyboard-drawing.c b/libmatekbd/matekbd-keyboard-drawing.c
+index 086b2e3..e2e4842 100644
+--- a/libmatekbd/matekbd-keyboard-drawing.c
++++ b/libmatekbd/matekbd-keyboard-drawing.c
+@@ -1630,16 +1630,15 @@ alloc_render_context (MatekbdKeyboardDrawing * drawing)
+ 
+ 	GtkStyleContext *style_context =
+ 	    gtk_widget_get_style_context (GTK_WIDGET (drawing));
+-	PangoFontDescription *fd = NULL;
+ 
+ 	gtk_style_context_get (style_context,
+ 	                       gtk_style_context_get_state (style_context),
+-	                       GTK_STYLE_PROPERTY_FONT, &fd, NULL);
++	                       GTK_STYLE_PROPERTY_FONT, &context->font_desc,
++	                       NULL);
+ 
+ 	context->layout = pango_layout_new (pangoContext);
+ 	pango_layout_set_ellipsize (context->layout, PANGO_ELLIPSIZE_END);
+ 
+-	context->font_desc = pango_font_description_copy (fd);
+ 	context->angle = 0;
+ 	context->scale_numerator = 1;
+ 	context->scale_denominator = 1;
+@@ -2446,7 +2445,7 @@ matekbd_keyboard_drawing_render (MatekbdKeyboardDrawing * kbdrawing,
+ 	GtkStyleContext *style_context =
+ 	    gtk_widget_get_style_context (GTK_WIDGET (kbdrawing));
+ 	GdkRGBA dark_color;
+-	PangoFontDescription *fd = NULL;
++	PangoFontDescription *fd;
+ 
+ 	gtk_style_context_get_background_color (style_context,
+ 	                                        gtk_style_context_get_state (style_context),
+@@ -2458,21 +2457,25 @@ matekbd_keyboard_drawing_render (MatekbdKeyboardDrawing * kbdrawing,
+ 
+ 	gtk_style_context_get (style_context,
+ 	                       gtk_style_context_get_state (style_context),
+-	                       GTK_STYLE_PROPERTY_FONT, &fd, NULL);
+-	fd = pango_font_description_copy (fd);
++	                       GTK_STYLE_PROPERTY_FONT, &fd,
++	                       NULL);
+ 
+ 	MatekbdKeyboardDrawingRenderContext context = {
+ 		cr,
+ 		kbdrawing->renderContext->angle,
+ 		layout,
+-		pango_font_description_copy (fd),
++		fd,
+ 		1, 1,
+ 		dark_color
+ 	};
+ 
+ 	if (!context_setup_scaling (&context, kbdrawing, width, height,
+ 	                            dpi_x, dpi_y))
++	{
++		pango_font_description_free (fd);
+ 		return FALSE;
++	}
++
+ 	cairo_translate (cr, x, y);
+ 
+ 	draw_keyboard_to_context (&context, kbdrawing);
+-- 
+2.39.2
+
diff -Nru libmatekbd-1.26.0/debian/patches/0002_matekbd-keyboard-drawing-fix-memory-leak.patch libmatekbd-1.26.0/debian/patches/0002_matekbd-keyboard-drawing-fix-memory-leak.patch
--- libmatekbd-1.26.0/debian/patches/0002_matekbd-keyboard-drawing-fix-memory-leak.patch	1970-01-01 01:00:00.000000000 +0100
+++ libmatekbd-1.26.0/debian/patches/0002_matekbd-keyboard-drawing-fix-memory-leak.patch	2023-06-18 08:36:13.000000000 +0200
@@ -0,0 +1,34 @@
+From 911b118a7ddf831800e72f8b4f64b2766e99c6fc Mon Sep 17 00:00:00 2001
+From: rbuj <robert.buj@gmail.com>
+Date: Mon, 8 Nov 2021 14:32:54 +0100
+Subject: [PATCH 2/3] matekbd-keyboard-drawing: fix memory leak
+
+Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+---
+ libmatekbd/matekbd-keyboard-drawing.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/libmatekbd/matekbd-keyboard-drawing.c b/libmatekbd/matekbd-keyboard-drawing.c
+index e2e4842..a9aec4d 100644
+--- a/libmatekbd/matekbd-keyboard-drawing.c
++++ b/libmatekbd/matekbd-keyboard-drawing.c
+@@ -2096,6 +2096,7 @@ free_cdik (			/*colors doodads indicators keys */
+ 	g_list_free (drawing->keyboard_items);
+ 	drawing->keyboard_items = NULL;
+ 
++	g_free (drawing->physical_indicators);
+ 	g_free (drawing->keys);
+ 	g_free (drawing->colors);
+ }
+@@ -2238,6 +2239,8 @@ destroy (MatekbdKeyboardDrawing * drawing)
+ 	if (drawing->surface != NULL) {
+ 		cairo_surface_destroy (drawing->surface);
+ 	}
++
++	free_cdik (drawing);
+ }
+ 
+ static void
+-- 
+2.39.2
+
diff -Nru libmatekbd-1.26.0/debian/patches/series libmatekbd-1.26.0/debian/patches/series
--- libmatekbd-1.26.0/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ libmatekbd-1.26.0/debian/patches/series	2023-06-18 08:36:43.000000000 +0200
@@ -0,0 +1,2 @@
+0001_matekbd-keyboard-drawing-fix-memory-leak.patch
+0002_matekbd-keyboard-drawing-fix-memory-leak.patch

Reply to: