[PATCH i-g-t v1 1/3] lib/igt_fb: Add check before loading PNG file
Karthik B S
karthik.b.s at intel.com
Tue Aug 26 07:48:31 UTC 2025
On 8/19/2025 9:20 PM, Kamil Konieczny wrote:
> 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>
Reviewed-by: Karthik B S <karthik.b.s at 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;
> }
More information about the igt-dev
mailing list