diff options
author | Marti Maria <marti.maria@littlecms.com> | 2023-02-13 15:24:12 +0100 |
---|---|---|
committer | Marti Maria <marti.maria@littlecms.com> | 2023-02-13 15:24:12 +0100 |
commit | 93629504f8175e0002af1c094707a76ae3f97f0f (patch) | |
tree | eb76b125a2e94f16e65918b0aa66e2c40e82c329 /src/cmsio0.c | |
parent | f0d963261b28253999e239a844ac74d5a8960f40 (diff) | |
download | lcms2-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
Diffstat (limited to 'src/cmsio0.c')
-rw-r--r-- | src/cmsio0.c | 6 |
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); |