From 8d74c4ebdee4eab0e5176ab2171149c0609a07ea Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 2 Jun 2026 13:08:37 +1000 Subject: [PATCH] glamor: fix an error path cleanup The GL_OUT_OF_MEMORY error path returns NULL without freeing the allocated `bits` buffer or deleting the GL texture. Assisted-by: Claude:claude-opus-4-6 --- glamor/glamor_font.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/glamor/glamor_font.c b/glamor/glamor_font.c index 9b26180e9..155aec4cb 100644 --- a/glamor/glamor_font.c +++ b/glamor/glamor_font.c @@ -160,11 +160,14 @@ glamor_font_get(ScreenPtr screen, FontPtr font) glTexImage2D(GL_TEXTURE_2D, 0, GL_R8UI, overall_width, overall_height, 0, GL_RED_INTEGER, GL_UNSIGNED_BYTE, bits); glamor_priv->suppress_gl_out_of_memory_logging = false; - if (glGetError() == GL_OUT_OF_MEMORY) - return NULL; - free(bits); + if (glGetError() == GL_OUT_OF_MEMORY) { + glDeleteTextures(1, &glamor_font->texture_id); + glamor_font->texture_id = 0; + return NULL; + } + glamor_font->realized = TRUE; return glamor_font;