# HG changeset patch # User Thomas Bernard # Date 1603751528 -3600 # Mon Oct 26 23:32:08 2020 +0100 # Node ID 1149505058ece08fe69753c86e2c3107a1259f77 # Parent a6c39d00937b7742569adf63654873db8834ee6b IMG_xcf.c: fix version detection diff -r a6c39d00937b -r 1149505058ec IMG_xcf.c --- a/IMG_xcf.c Sun Oct 25 23:55:40 2020 +0300 +++ b/IMG_xcf.c Mon Oct 26 23:32:08 2020 +0100 @@ -321,7 +321,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);