From f16b75aa497c0727c9a707f5967ec8021de90f79 Mon Sep 17 00:00:00 2001 From: Luis de Bethencourt Date: Wed, 29 Oct 2014 18:18:07 +0000 Subject: [PATCH] glshader: Fix memory leak Memory is only freed in the TRUE clause of the if conditional. Free in the else clause as well. Also, consolidate g_malloc + sprintf into a g_strdup_printf(). CID #1212171 https://bugzilla.gnome.org/show_bug.cgi?id=739368 --- gst-libs/gst/gl/gstglshadervariables.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/gl/gstglshadervariables.c b/gst-libs/gst/gl/gstglshadervariables.c index 325a71f2d9..4ca2efe71a 100644 --- a/gst-libs/gst/gl/gstglshadervariables.c +++ b/gst-libs/gst/gl/gstglshadervariables.c @@ -254,12 +254,12 @@ gst_gl_shadervariables_parse (GstGLShader * shader, char *variables, trimright (t, " \t"); if (arraysize) { - char *s = g_malloc (strlen (vartype) + 32); - sprintf (s, "%s[%d]", vartype, arraysize); + gchar *s = g_strdup_printf ("%s[%d]", vartype, arraysize); if (strcmp (t, s)) { g_free (s); goto parse_error; } + g_free (s); } else { if (strcmp (t, vartype)) goto parse_error;