Heads-up on ICC profile in JPEG corruption

Bob Friesenhahn <[email protected]> Wed, 16 Sep 2009 15:44:25 -0500 (CDT)
Newsgroups gmane.comp.video.graphicsmagick.announce
Message-ID <[email protected]>
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-462394273-1253133865=:1107
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Today I learned that GraphicsMagick 1.2 and later corrupt ICC profiles 
retrieved from JPEG files.  Large ICC profiles are broken up into 
smaller chunks when saved to JPEG files which need to be re-assembled 
when the JPEG file is read.  Starting with GraphicsMagick 1.2 (1.1.X 
are fine), this re-assembly was not done correctly.  Small ICC 
profiles (< 32-64K bytes depending on the writing software) pass 
through without problems.  Luckily, most files do seem to use small 
profiles.

GraphicsMagick 1.2.9 and 1.3.7 will include fixes for this problem.

A source patch to coders/jpeg.c is included for those who have source 
code and need to fix the problem ASAP.

Bob
--
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
---559023410-462394273-1253133865=:1107
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=jpeg.c.patch
Content-Transfer-Encoding: BASE64
Content-ID: <[email protected]>
Content-Description: 
Content-Disposition: attachment; filename=jpeg.c.patch

SW5kZXg6IGNvZGVycy9qcGVnLmMNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N
ClJDUyBmaWxlOiAvR3JhcGhpY3NNYWdpY2svR3JhcGhpY3NNYWdpY2svY29k
ZXJzL2pwZWcuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjQyLjIuMQ0K
cmV0cmlldmluZyByZXZpc2lvbiAxLjI0Mi4yLjMNCmRpZmYgLXUgLXIxLjI0
Mi4yLjEgLXIxLjI0Mi4yLjMNCi0tLSBjb2RlcnMvanBlZy5jCTE3IEp1bCAy
MDA4IDIyOjE0OjA5IC0wMDAwCTEuMjQyLjIuMQ0KKysrIGNvZGVycy9qcGVn
LmMJMTYgU2VwIDIwMDkgMjA6MjE6MDMgLTAwMDAJMS4yNDIuMi4zDQpAQCAt
MzEzLDYgKzMxMyw1NyBAQA0KICAgcmV0dXJuKFRydWUpOw0KIH0NCiANCisv
Kg0KKyAgQXBwZW5kIGEgcHJvZmlsZSBjaHVuayB0byBhIChwb3NzaWJseSkg
ZXhpc3RpbmcgcHJvZmlsZS4NCisqLw0KK3N0YXRpYyBNYWdpY2tQYXNzRmFp
bA0KK0FwcGVuZEltYWdlUHJvZmlsZShJbWFnZSAqaW1hZ2UsDQorCQkgICBj
b25zdCBjaGFyICpuYW1lLA0KKwkJICAgY29uc3QgdW5zaWduZWQgY2hhciAq
cHJvZmlsZV9jaHVuaywNCisJCSAgIGNvbnN0IHNpemVfdCBjaHVua19sZW5n
dGgpDQorew0KKyAgY29uc3QgdW5zaWduZWQgY2hhcg0KKyAgICAqZXhpc3Rp
bmdfcHJvZmlsZTsNCisNCisgIHNpemVfdA0KKyAgICBleGlzdGluZ19sZW5n
dGg7DQorDQorICBNYWdpY2tQYXNzRmFpbA0KKyAgICBzdGF0dXM7DQorDQor
ICBzdGF0dXM9TWFnaWNrRmFpbDsNCisgIGV4aXN0aW5nX2xlbmd0aD0wOw0K
KyAgZXhpc3RpbmdfcHJvZmlsZT0oY29uc3QgdW5zaWduZWQgY2hhciAqKSBO
VUxMOw0KKyAgaWYgKHByb2ZpbGVfY2h1bmsgIT0gKGNvbnN0IHVuc2lnbmVk
IGNoYXIgKikgTlVMTCkNCisgICAgZXhpc3RpbmdfcHJvZmlsZT1HZXRJbWFn
ZVByb2ZpbGUoaW1hZ2UsbmFtZSwmZXhpc3RpbmdfbGVuZ3RoKTsNCisNCisg
IGlmICgocHJvZmlsZV9jaHVuayA9PSAoY29uc3QgdW5zaWduZWQgY2hhciAq
KSBOVUxMKSB8fA0KKyAgICAgIChleGlzdGluZ19wcm9maWxlID09IChjb25z
dCB1bnNpZ25lZCBjaGFyKSBOVUxMKSkNCisgICAgew0KKyAgICAgIHN0YXR1
cz1TZXRJbWFnZVByb2ZpbGUoaW1hZ2UsbmFtZSxwcm9maWxlX2NodW5rLGNo
dW5rX2xlbmd0aCk7DQorICAgIH0NCisgIGVsc2UNCisgICAgew0KKyAgICAg
IHVuc2lnbmVkIGNoYXINCisJKnByb2ZpbGU7DQorDQorICAgICAgc2l6ZV90
DQorCXByb2ZpbGVfbGVuZ3RoOw0KKw0KKyAgICAgIHByb2ZpbGVfbGVuZ3Ro
PWV4aXN0aW5nX2xlbmd0aCtjaHVua19sZW5ndGg7DQorICAgICAgaWYgKChw
cm9maWxlX2xlbmd0aCA8IGV4aXN0aW5nX2xlbmd0aCkgfHwgDQorCSAgKChw
cm9maWxlPU1hZ2lja0FsbG9jYXRlTWVtb3J5KHVuc2lnbmVkIGNoYXIgKiwo
c2l6ZV90KSBwcm9maWxlX2xlbmd0aCkpID09DQorCSAgICh1bnNpZ25lZCBj
aGFyICopIE5VTEwpKQ0KKwlUaHJvd0JpbmFyeUV4Y2VwdGlvbihSZXNvdXJj
ZUxpbWl0RXJyb3IsTWVtb3J5QWxsb2NhdGlvbkZhaWxlZCwNCisJCQkgICAg
IChjaGFyICopIE5VTEwpOw0KKyAgICAgICh2b2lkKSBtZW1jcHkocHJvZmls
ZSxleGlzdGluZ19wcm9maWxlLGV4aXN0aW5nX2xlbmd0aCk7DQorICAgICAg
KHZvaWQpIG1lbWNweShwcm9maWxlK2V4aXN0aW5nX2xlbmd0aCxwcm9maWxl
X2NodW5rLGNodW5rX2xlbmd0aCk7DQorICAgICAgc3RhdHVzPVNldEltYWdl
UHJvZmlsZShpbWFnZSxuYW1lLHByb2ZpbGUscHJvZmlsZV9sZW5ndGgpOw0K
KyAgICB9DQorDQorICByZXR1cm4gc3RhdHVzOw0KK30NCisNCiBzdGF0aWMg
Ym9vbGVhbiBSZWFkR2VuZXJpY1Byb2ZpbGUoal9kZWNvbXByZXNzX3B0ciBq
cGVnX2luZm8pDQogew0KICAgRXJyb3JNYW5hZ2VyDQpAQCAtMzgzLDcgKzQz
NCw3IEBADQogICAvKg0KICAgICBTdG9yZSBwcm9maWxlIGluIEltYWdlLg0K
ICAgKi8NCi0gIHN0YXR1cz1TZXRJbWFnZVByb2ZpbGUoaW1hZ2UscHJvZmls
ZV9uYW1lLHByb2ZpbGUsbGVuZ3RoKTsNCisgIHN0YXR1cz1BcHBlbmRJbWFn
ZVByb2ZpbGUoaW1hZ2UscHJvZmlsZV9uYW1lLHByb2ZpbGUsbGVuZ3RoKTsN
CiAgIE1hZ2lja0ZyZWVNZW1vcnkocHJvZmlsZSk7DQogDQogICAodm9pZCkg
TG9nTWFnaWNrRXZlbnQoQ29kZXJFdmVudCxHZXRNYWdpY2tNb2R1bGUoKSwi
UHJvZmlsZTogJXMsICVsdSBieXRlcyIsDQpAQCAtNDQ5LDEzICs1MDAsMTQg
QEANCiAgICAgVGhyb3dCaW5hcnlFeGNlcHRpb24oUmVzb3VyY2VMaW1pdEVy
cm9yLE1lbW9yeUFsbG9jYXRpb25GYWlsZWQsDQogICAgICAgKGNoYXIgKikg
TlVMTCk7DQogDQotICAodm9pZCkgTG9nTWFnaWNrRXZlbnQoQ29kZXJFdmVu
dCxHZXRNYWdpY2tNb2R1bGUoKSwiSUNDIHByb2ZpbGU6ICVsZCBieXRlcyIs
DQorICAodm9pZCkgTG9nTWFnaWNrRXZlbnQoQ29kZXJFdmVudCxHZXRNYWdp
Y2tNb2R1bGUoKSwNCisJCQkiSUNDIHByb2ZpbGUgY2h1bms6ICVsZCBieXRl
cyIsDQogICAgIGxlbmd0aCk7DQogDQogICBmb3IgKGk9MCA7IGkgPCBsZW5n
dGg7IGkrKykNCiAgICBwcm9maWxlW2ldPUdldENoYXJhY3RlcihqcGVnX2lu
Zm8pOw0KIA0KLSAgKHZvaWQpIFNldEltYWdlUHJvZmlsZShpbWFnZSwiSUNN
Iixwcm9maWxlLGxlbmd0aCk7DQorICAodm9pZCkgQXBwZW5kSW1hZ2VQcm9m
aWxlKGltYWdlLCJJQ00iLHByb2ZpbGUsbGVuZ3RoKTsNCiANCiAgIE1hZ2lj
a0ZyZWVNZW1vcnkocHJvZmlsZSk7DQogDQpAQCAtNTU5LDcgKzYxMSw3IEBA
DQogICBmb3IgKGk9MDsgaTxsZW5ndGg7IGkrKykNCiAgICAgcHJvZmlsZVtp
XT1HZXRDaGFyYWN0ZXIoanBlZ19pbmZvKTsNCiANCi0gICh2b2lkKSBTZXRJ
bWFnZVByb2ZpbGUoaW1hZ2UsIklQVEMiLHByb2ZpbGUsbGVuZ3RoKTsNCisg
ICh2b2lkKSBBcHBlbmRJbWFnZVByb2ZpbGUoaW1hZ2UsIklQVEMiLHByb2Zp
bGUsbGVuZ3RoKTsNCiANCiAgIE1hZ2lja0ZyZWVNZW1vcnkocHJvZmlsZSk7
DQogICByZXR1cm4oVHJ1ZSk7DQo=

---559023410-462394273-1253133865=:1107
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
---559023410-462394273-1253133865=:1107
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Graphicsmagick-announce mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/graphicsmagick-announce

---559023410-462394273-1253133865=:1107--