From 3d85c04df08f8a05fb4e107276882a0618dd41f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Ondra=C4=8Dka?= Date: Thu, 2 Apr 2026 09:51:45 +0200 Subject: [PATCH] glamor: free the link log on shader link failure glamor_link_glsl_prog() retrieves the GL link log when program linking fails and prints it with ErrorF(), but did not free the allocated log. Direct leak of 51 byte(s) in 1 object(s) allocated from: #0 in malloc #1 in glamor_link_glsl_prog ../glamor/glamor_core.c:105 #2 in _glamor_create_linear_gradient_program ../glamor/glamor_gradient.c:541 #3 in glamor_init_gradient_shader ../glamor/glamor_gradient.c:577 #4 in glamor_init ../glamor/glamor.c:870 #5 in xwl_glamor_init ../hw/xwayland/xwayland-glamor.c:247 #6 in xwl_screen_init ../hw/xwayland/xwayland-screen.c:1121 ... --- glamor/glamor_core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/glamor/glamor_core.c b/glamor/glamor_core.c index 8a601d086..6db0bb79f 100644 --- a/glamor/glamor_core.c +++ b/glamor/glamor_core.c @@ -103,9 +103,12 @@ glamor_link_glsl_prog(ScreenPtr screen, GLint prog, const char *format, ...) glGetProgramiv(prog, GL_INFO_LOG_LENGTH, &size); info = malloc(size); + if (!info) + return FALSE; glGetProgramInfoLog(prog, size, NULL, info); ErrorF("Failed to link: %s\n", info); + free(info); return FALSE; } return TRUE;