# HG changeset patch # User Matti Hamalainen # Date 1528716232 -10800 # Node ID feaf5cf07603a49eeeacb288ffa4f28eba2692c1 # Parent 9c4b3fecc510e2a5d0eeb370fd7f8fd316b23f8b Apparently Fun Paint 2 also saves one byte less than it should with the packed format .. so we need to extend our buffer. diff -r 9c4b3fecc510 -r feaf5cf07603 tools/lib64fmts.c --- a/tools/lib64fmts.c Mon Jun 11 14:21:09 2018 +0300 +++ b/tools/lib64fmts.c Mon Jun 11 14:23:52 2018 +0300 @@ -573,11 +573,15 @@ cfg.flags = DM_RLE_BYTE_RUNS | DM_RLE_ORDER_1; cfg.rleMarkerB = buf->data[15]; + dmGrowBufCopyOffs(&tmp, buf, FUNPAINT2_HEADER_SIZE, 1); + tmp.len = tmp.size; + if ((res = dmDecodeGenericRLEAlloc( - &mem, dmGrowBufCreateFromOffs(&tmp, buf, FUNPAINT2_HEADER_SIZE), &cfg)) == DMERR_OK) + &mem, &tmp, &cfg)) == DMERR_OK) res = dmC64DecodeGenericBMP(img, &mem, fmt); dmGrowBufFree(&mem); + dmGrowBufFree(&tmp); } else {