From: Matthias Clasen Date: Mon, 22 Aug 2022 15:51:20 +0000 (-0400) Subject: css: Fix freeing of calc values X-Git-Tag: archive/raspbian/4.8.3+ds-2+rpi1~3^2~20^2~3^2~66^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=a52ee9ee22ed7b2ae564b5b9dc8cc31c16ceb336;p=gtk4.git css: Fix freeing of calc values We were getting our memory allocations mixed up here. Fixes: #5130 --- diff --git a/gtk/gtkcssnumbervalue.c b/gtk/gtkcssnumbervalue.c index 78e11b86ee..cd8c942c01 100644 --- a/gtk/gtkcssnumbervalue.c +++ b/gtk/gtkcssnumbervalue.c @@ -28,6 +28,7 @@ static GtkCssValue * gtk_css_calc_value_new (guint n_terms); static GtkCssValue * gtk_css_calc_value_new_sum (GtkCssValue *a, GtkCssValue *b); +static gsize gtk_css_value_calc_get_size (gsize n_terms); enum { TYPE_CALC = 0, @@ -78,9 +79,13 @@ gtk_css_value_number_free (GtkCssValue *number) for (guint i = 0; i < n_terms; i++) _gtk_css_value_unref (number->calc.terms[i]); - } - g_slice_free (GtkCssValue, number); + g_slice_free1 (gtk_css_value_calc_get_size (n_terms), number); + } + else + { + g_slice_free (GtkCssValue, number); + } } static double