diff options
author | Marti Maria <marti.maria@littlecms.com> | 2023-01-10 17:43:11 +0100 |
---|---|---|
committer | Marti Maria <marti.maria@littlecms.com> | 2023-01-10 17:43:11 +0100 |
commit | e71aeb6d8ad21ad5aea2240b531acf13853c8cd9 (patch) | |
tree | 19198b3bae8e66c977beb30389ce0f54f1dd68df /src | |
parent | 3939d5cafea26bb40de23c3c727bcd807dd817df (diff) | |
download | lcms2-e71aeb6d8ad21ad5aea2240b531acf13853c8cd9.tar.gz |
save cgats to memory was wrong for one byte
The ending zero was not properly counted. Fixed.
Diffstat (limited to 'src')
-rw-r--r-- | src/cmscgats.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/cmscgats.c b/src/cmscgats.c index 845c18a..c1a3f1f 100644 --- a/src/cmscgats.c +++ b/src/cmscgats.c @@ -1939,13 +1939,15 @@ cmsBool CMSEXPORT cmsIT8SaveToMem(cmsHANDLE hIT8, void *MemPtr, cmsUInt32Number* memset(&sd, 0, sizeof(sd)); sd.stream = NULL; - sd.Base = (cmsUInt8Number*) MemPtr; + sd.Base = (cmsUInt8Number*) MemPtr; sd.Ptr = sd.Base; sd.Used = 0; - if (sd.Base) - sd.Max = *BytesNeeded; // Write to memory? + if (sd.Base && (*BytesNeeded > 0)) { + + sd.Max = (*BytesNeeded) - 1; // Write to memory? + } else sd.Max = 0; // Just counting the needed bytes |