Hi,

Unless somebody beats me to it I'll deal with this in a couple of days.

Thanks
/Kim

On 7/5/21 4:32 PM, noospot wrote:
hi,

I stumbled upon a tiny tga image  imlib2 couldn't load while other
softs could .

I did check the imlib2-1.7.1/src/modules/loaders/loader_tga.c    code
I found sizeof(tga_footer) is used  -line191- -line201-  earlier than
to check a footer presence -line202-

with patch below the image loads correctly.

image is maybe attached  to this mail       sample_rle_3c_cmap.tga
or its maybe there:  https://filebin.net/enqoaglfjl649ou5
or its maybe there: https://noospot.dynv6.net/sample_rle_3c_cmap.tga

imlib2 version 1.7.1
debian buster package    imlib2_1.7.1-2

thanks



--- imlib2-1.7.1-tgapatch/src/modules/loaders/loader_tga.c
2021-07-05 14:53:54.856994118 +0100 +++
imlib2-1.7.1/src/modules/loaders/loader_tga.c   2020-12-09
16:45:59.000000000 +0000 @@ -188,7 +188,7 @@ if (fstat(fd, &ss) < 0)
        goto quit;
- if (ss.st_size < (long)(sizeof(tga_header) ) ||
+   if (ss.st_size < (long)(sizeof(tga_header) + sizeof(tga_footer)) ||
         (uintmax_t) ss.st_size > SIZE_MAX)
        goto quit;
@@ -198,17 +198,11 @@ filedata = seg;
     header = (tga_header *) filedata;
-
-  if (ss.st_size >(long)(sizeof(tga_footer))  ) {
     footer = (tga_footer *) ((char *)filedata + ss.st_size -
sizeof(tga_footer));
     /* check the footer to see if we have a v2.0 TGA file */
     footer_present =
        memcmp(footer->signature, TGA_SIGNATURE,
sizeof(footer->signature)) == 0;
-  } else{
-      footer_present =0;
-  }
-
if ((size_t)ss.st_size < sizeof(tga_header) + header->idLength +
         (footer_present ? sizeof(tga_footer) : 0))



_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to