summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarti Maria <marti.maria@littlecms.com>2023-02-13 15:24:12 +0100
committerMarti Maria <marti.maria@littlecms.com>2023-02-13 15:24:12 +0100
commit93629504f8175e0002af1c094707a76ae3f97f0f (patch)
treeeb76b125a2e94f16e65918b0aa66e2c40e82c329
parentf0d963261b28253999e239a844ac74d5a8960f40 (diff)
downloadlcms2-93629504f8175e0002af1c094707a76ae3f97f0f.tar.gz
undo a change to recover an undocumented feature needed by colord
ReadRawTag allows now to read portions of tag UNLESS the tag has been modified by cmsWriteTag
-rw-r--r--src/cmsio0.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/cmsio0.c b/src/cmsio0.c
index 222f7c7..de9bcc0 100644
--- a/src/cmsio0.c
+++ b/src/cmsio0.c
@@ -1922,7 +1922,7 @@ cmsUInt32Number CMSEXPORT cmsReadRawTag(cmsHPROFILE hProfile, cmsTagSignature si
if (data != NULL) {
if (BufferSize < TagSize)
- goto Error;
+ TagSize = BufferSize;
if (!Icc ->IOhandler ->Seek(Icc ->IOhandler, Offset)) goto Error;
if (!Icc ->IOhandler ->Read(Icc ->IOhandler, data, 1, TagSize)) goto Error;
@@ -1935,7 +1935,7 @@ cmsUInt32Number CMSEXPORT cmsReadRawTag(cmsHPROFILE hProfile, cmsTagSignature si
return Icc ->TagSizes[i];
}
- // The data has been already read, or written. But wait!, maybe the user chose to save as
+ // The data has been already read, or written. But wait!, maybe the user choose to save as
// raw data. In this case, return the raw data directly
if (Icc ->TagSaveAsRaw[i]) {
@@ -1944,7 +1944,7 @@ cmsUInt32Number CMSEXPORT cmsReadRawTag(cmsHPROFILE hProfile, cmsTagSignature si
TagSize = Icc ->TagSizes[i];
if (BufferSize < TagSize)
- goto Error;
+ TagSize = BufferSize;
memmove(data, Icc ->TagPtrs[i], TagSize);