SDL_image-1.2 fix for XCF loading

This commit is contained in:
Thomas Bernard
2020-11-01 23:10:45 +01:00
parent 8c6a502589
commit 0cac68571f
2 changed files with 16 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
diff -r 5d581cd9e075 IMG_xcf.c
--- a/IMG_xcf.c Sun Oct 25 23:55:10 2020 +0300
+++ b/IMG_xcf.c Mon Oct 26 23:25:39 2020 +0100
@@ -336,7 +336,10 @@
h->width = SDL_ReadBE32 (src);
h->height = SDL_ReadBE32 (src);
h->image_type = SDL_ReadBE32 (src);
- h->file_version = (h->sign[10] - '0') * 100 + (h->sign[11] - '0') * 10 + (h->sign[12] - '0');
+ if (h->sign[9] == 'v' && h->sign[10] >= '0' && h->sign[10] <= '9' && h->sign[11] >= '0' && h->sign[11] <= '9' && h->sign[12] >= '0' && h->sign[12] <= '9')
+ h->file_version = (h->sign[10] - '0') * 100 + (h->sign[11] - '0') * 10 + (h->sign[12] - '0');
+ else
+ h->file_version = 0;
#ifdef DEBUG
printf ("XCF signature : %.14s (version %u)\n", h->sign, h->file_version);
printf (" (%u,%u) type=%u\n", h->width, h->height, h->image_type);