bug in ReadGIFImage when using local colormaps
莫红波 <[email protected]> Wed, 2 Dec 2015 16:07:10 +0800
| Newsgroups | gmane.comp.video.graphicsmagick.bugs |
|---|---|
| Message-ID | <CACghtk0pnHZXAzZvmACbcJ7tFDPxpXNCTa__HKnbOS3aRMV+yw@mail.gmail.com> |
--001a11492104d7b33f0525e5c29a Content-Type: multipart/alternative; boundary=001a11492104d7b33c0525e5c298 --001a11492104d7b33c0525e5c298 Content-Type: text/plain; charset=UTF-8 Some GIFs set transparent color index equal to size of colormaps which is an invalid value. 1011 if (opacity >= (long) image->colors) 1012 image->colors=opacity+1; As code above, Graphicsmagick will set image->colors equal to opacity+1. However, this is a bug when reading colormaps from image blob. 1067 if (ReadBlob(image,3*image->colors,(char *) colormap) != 3*image->colors) ReadBlob will read more colors which are not real color. BTW, I can't upload GIF Image as it's too large. --001a11492104d7b33c0525e5c298 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><span style=3D"font-size:12.8px">Some GIFs set transparent= color index equal to size of colormaps which is an invalid value.</span><d= iv style=3D"font-size:12.8px"><br></div><div style=3D"font-size:12.8px"><di= v>1011 =C2=A0 =C2=A0 if (opacity >=3D (long) image->colors)</div><div= >1012 =C2=A0 =C2=A0 =C2=A0 image->colors=3Dopacity+1;</div></div><div st= yle=3D"font-size:12.8px"><br></div><div style=3D"font-size:12.8px">As code = above, Graphicsmagick will set image->colors equal to opacity+1.</div><d= iv style=3D"font-size:12.8px">However, this is a bug when reading colormaps= from image blob.</div><div style=3D"font-size:12.8px"><br></div><div style= =3D"font-size:12.8px">1067 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (ReadBlob(image,3= *image->colors,(char *) colormap) !=3D 3*image->colors)<br></div><div= style=3D"font-size:12.8px"><br></div><div style=3D"font-size:12.8px">ReadB= lob will read more colors which are not real color.</div><div style=3D"font= -size:12.8px"><br></div><div style=3D"font-size:12.8px">BTW, I can't up= load GIF Image as it's too large.</div></div> --001a11492104d7b33c0525e5c298-- --001a11492104d7b33f0525e5c29a Content-Type: application/octet-stream; name="code_gif.patch" Content-Disposition: attachment; filename="code_gif.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ihoj4tfc0 LS0tIEdyYXBoaWNzTWFnaWNrLTEuMy4yMS9vbGQtY29kZXJzL2dpZi5jCTIwMTUtMDMtMDEgMDQ6 NTE6NTguMDAwMDAwMDAwICswODAwCisrKyBHcmFwaGljc01hZ2ljay0xLjMuMjEvY29kZXJzL2dp Zi5jCTIwMTUtMTEtMjAgMTE6MzY6MDUuNDI4NzkzODIyICswODAwCkBAIC04NTMsNiArODUzLDcg QEAKICAgICBkZWxheSwKICAgICBkaXNwb3NlLAogICAgIGdsb2JhbF9jb2xvcnMsCisgICAgbG9j YWxfY29sb3JzLAogICAgIGltYWdlX2NvdW50LAogICAgIGl0ZXJhdGlvbnM7CiAKQEAgLTEwMDcs NyArMTAwOCwxNCBAQAogICAgIGltYWdlLT5kZXB0aD04OwogICAgIGZsYWc9UmVhZEJsb2JCeXRl KGltYWdlKTsKICAgICBpbWFnZS0+aW50ZXJsYWNlPUJpdFNldChmbGFnLDB4NDApID8gTGluZUlu dGVybGFjZSA6IE5vSW50ZXJsYWNlOwotICAgIGltYWdlLT5jb2xvcnM9IUJpdFNldChmbGFnLDB4 ODApID8gZ2xvYmFsX2NvbG9ycyA6IDB4MDFVIDw8ICgoZmxhZyAmIDB4MDcpKzEpOworICAgIC8q CisgICAgICogV29ya0Fyb3VuZDoKKyAgICAgKiBJbiBzb21lIEdJRiBpbWFnZXMgdHJhbnNwYXJl bnQgY29sb3IgaW5kZXggaXMgZXF1YWwgdG8gdGhlIG51bWJlciBvZiBsb2NhbCBjb2xvcnMKKyAg ICAgKiBhbmQgdGhpcyBpbmRleCBpcyBpbnZhbGlkIG9idmlvdXNseS4gTW9yZW92ZXIsIGl0IHdp bGwgY2F1c2UgY29ycnVwdCBpbWFnZSB3aGVuIGFsbG9jYXRpbmcKKyAgICAgKiBsb2NhbF9jb2xv cnMrMSBjb2xvcm1hcCBlbnRyaWVzLiBTbyB3ZSBuZWVkIHRvIHdvcmsgYXJvdW5kLgorICAgICAq CisgICAgICogKi8KKyAgICBsb2NhbF9jb2xvcnM9aW1hZ2UtPmNvbG9ycz0hQml0U2V0KGZsYWcs MHg4MCkgPyBnbG9iYWxfY29sb3JzIDogMHgwMVUgPDwgKChmbGFnICYgMHgwNykrMSk7CiAgICAg aWYgKG9wYWNpdHkgPj0gKGxvbmcpIGltYWdlLT5jb2xvcnMpCiAgICAgICBpbWFnZS0+Y29sb3Jz PW9wYWNpdHkrMTsKICAgICBpbWFnZS0+cGFnZS53aWR0aD1wYWdlLndpZHRoOwpAQCAtMTA2NCw3 ICsxMDcyLDcgQEAKICAgICAgICAgICAgIFRocm93UmVhZGVyRXhjZXB0aW9uKFJlc291cmNlTGlt aXRFcnJvcixNZW1vcnlBbGxvY2F0aW9uRmFpbGVkLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW1hZ2UpOwogICAgICAgICAgIH0KLSAgICAgICAgaWYgKFJlYWRCbG9iKGltYWdl LDMqaW1hZ2UtPmNvbG9ycywoY2hhciAqKSBjb2xvcm1hcCkgIT0gMyppbWFnZS0+Y29sb3JzKQor ICAgICAgICBpZiAoUmVhZEJsb2IoaW1hZ2UsMypsb2NhbF9jb2xvcnMsKGNoYXIgKikgY29sb3Jt YXApICE9IDMqbG9jYWxfY29sb3JzKQogCSAgewogCSAgICBNYWdpY2tGcmVlTWVtb3J5KGdsb2Jh bF9jb2xvcm1hcCk7CiAJICAgIE1hZ2lja0ZyZWVNZW1vcnkoY29sb3JtYXApOwo= --001a11492104d7b33f0525e5c29a Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Go from Idea to Many App Stores Faster with Intel(R) XDK Give your users amazing mobile app experiences with Intel(R) XDK. Use one codebase in this all-in-one HTML5 development environment. Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 --001a11492104d7b33f0525e5c29a Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Graphicsmagick-bugs mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/graphicsmagick-bugs --001a11492104d7b33f0525e5c29a--