[PATCH i-g-t v1 1/3] lib/igt_fb: Add check before loading PNG file
Kamil Konieczny
kamil.konieczny at linux.intel.com
Tue Aug 19 15:50:56 UTC 2025
In some configurations loading PNG data file fails simply because
file was not found on path or it wasn't copied during
installation. This in turn ends up in SIGSEGV error in cairo lib.
Call cairo lib only when file open actually succeeded.
Cc: Karthik B S <karthik.b.s at intel.com>
Cc: Swati Sharma <swati2.sharma at intel.com>
Signed-off-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
---
lib/igt_fb.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 9fc1bfc65..f42f37917 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -2028,12 +2028,14 @@ stdio_read_func(void *closure, unsigned char* data, unsigned int size)
cairo_surface_t *igt_cairo_image_surface_create_from_png(const char *filename)
{
- cairo_surface_t *image;
+ cairo_surface_t *image = NULL;
FILE *f;
f = igt_fopen_data(filename);
- image = cairo_image_surface_create_from_png_stream(&stdio_read_func, f);
- fclose(f);
+ if (f) {
+ image = cairo_image_surface_create_from_png_stream(&stdio_read_func, f);
+ fclose(f);
+ }
return image;
}
--
2.51.0
More information about the igt-dev
mailing list