Mercurial > hg > release > icedtea7-forest-2.6 > jdk
changeset 9693:a4401efb67e7
8210606: Improved data set handling
Reviewed-by: serb, psadhukhan, mschoene, rhalade
author | prr |
---|---|
date | Fri, 05 Oct 2018 11:37:39 -0700 |
parents | 38d6c467c411 |
children | 1636cb164608 |
files | src/share/native/sun/java2d/cmm/lcms/cmscgats.c |
diffstat | 1 files changed, 10 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/native/sun/java2d/cmm/lcms/cmscgats.c Tue Jan 29 17:55:30 2019 +0000 +++ b/src/share/native/sun/java2d/cmm/lcms/cmscgats.c Fri Oct 05 11:37:39 2018 -0700 @@ -1535,10 +1535,16 @@ t-> nSamples = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_FIELDS")); t-> nPatches = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_SETS")); - t-> Data = (char**)AllocChunk (it8, ((cmsUInt32Number) t->nSamples + 1) * ((cmsUInt32Number) t->nPatches + 1) *sizeof (char*)); - if (t->Data == NULL) { - - SynError(it8, "AllocateDataSet: Unable to allocate data array"); + if (t -> nSamples < 0 || t->nSamples > 0x7ffe || t->nPatches < 0 || t->nPatches > 0x7ffe) + { + SynError(it8, "AllocateDataSet: too much data"); + } + else { + t->Data = (char**)AllocChunk(it8, ((cmsUInt32Number)t->nSamples + 1) * ((cmsUInt32Number)t->nPatches + 1) * sizeof(char*)); + if (t->Data == NULL) { + + SynError(it8, "AllocateDataSet: Unable to allocate data array"); + } } }