diff options
author | Marti <marti.maria@tktbrainpower.com> | 2016-04-01 10:43:43 +0200 |
---|---|---|
committer | Marti <marti.maria@tktbrainpower.com> | 2016-04-01 10:43:43 +0200 |
commit | 6aab195cb71551c0308b27d8dd4f81427fc6a026 (patch) | |
tree | 0fe00e41efc8b6c412cb4658d22d079c2250c82f | |
parent | 54b50ba248a5e4f1b8e69909580e5cbba05c3b19 (diff) | |
download | lcms2-6aab195cb71551c0308b27d8dd4f81427fc6a026.tar.gz |
Fixed some glitches from FORTIFY report
-rw-r--r-- | src/cmscgats.c | 10 | ||||
-rw-r--r-- | src/cmslut.c | 6 | ||||
-rw-r--r-- | src/cmsnamed.c | 10 | ||||
-rw-r--r-- | src/cmsopt.c | 5 | ||||
-rw-r--r-- | src/cmsps2.c | 13 | ||||
-rw-r--r-- | src/cmstypes.c | 2 | ||||
-rw-r--r-- | src/lcms2_internal.h | 4 |
7 files changed, 28 insertions, 22 deletions
diff --git a/src/cmscgats.c b/src/cmscgats.c index 5ea34c8..591e4ca 100644 --- a/src/cmscgats.c +++ b/src/cmscgats.c @@ -801,11 +801,11 @@ void InSymbol(cmsIT8* it8) if (it8 ->sy == SINUM) { - sprintf(it8->id, "%d", it8->inum); + snprintf(it8->id, 127, "%d", it8->inum); } else { - sprintf(it8->id, it8 ->DoubleFormatter, it8->dnum); + snprintf(it8->id, 127, it8 ->DoubleFormatter, it8->dnum); } k = (int) strlen(it8 ->id); @@ -1363,7 +1363,7 @@ cmsBool CMSEXPORT cmsIT8SetPropertyDbl(cmsHANDLE hIT8, const char* cProp, cmsFlo cmsIT8* it8 = (cmsIT8*) hIT8; char Buffer[1024]; - sprintf(Buffer, it8->DoubleFormatter, Val); + snprintf(Buffer, 1023, it8->DoubleFormatter, Val); return AddToList(it8, &GetTable(it8)->HeaderList, cProp, NULL, Buffer, WRITE_UNCOOKED) != NULL; } @@ -1373,7 +1373,7 @@ cmsBool CMSEXPORT cmsIT8SetPropertyHex(cmsHANDLE hIT8, const char* cProp, cmsUIn cmsIT8* it8 = (cmsIT8*) hIT8; char Buffer[1024]; - sprintf(Buffer, "%u", Val); + snprintf(Buffer, 1023, "%u", Val); return AddToList(it8, &GetTable(it8)->HeaderList, cProp, NULL, Buffer, WRITE_HEXADECIMAL) != NULL; } @@ -2577,7 +2577,7 @@ cmsBool CMSEXPORT cmsIT8SetDataRowColDbl(cmsHANDLE hIT8, int row, int col, cmsFl _cmsAssert(hIT8 != NULL); - sprintf(Buff, it8->DoubleFormatter, Val); + snprintf(Buff, 255, it8->DoubleFormatter, Val); return SetData(it8, row, col, Buff); } diff --git a/src/cmslut.c b/src/cmslut.c index 4117a45..dee6880 100644 --- a/src/cmslut.c +++ b/src/cmslut.c @@ -1453,7 +1453,8 @@ cmsPipeline* CMSEXPORT cmsPipelineDup(const cmsPipeline* lut) First = FALSE; } else { - Anterior ->Next = NewMPE; + if (Anterior != NULL) + Anterior ->Next = NewMPE; } Anterior = NewMPE; @@ -1499,7 +1500,8 @@ int CMSEXPORT cmsPipelineInsertStage(cmsPipeline* lut, cmsStageLoc loc, cmsStage pt != NULL; pt = pt -> Next) Anterior = pt; - Anterior ->Next = mpe; + if (Anterior != NULL) + Anterior ->Next = mpe; mpe ->Next = NULL; } break; diff --git a/src/cmsnamed.c b/src/cmsnamed.c index 89da7f5..56ef7b0 100644 --- a/src/cmsnamed.c +++ b/src/cmsnamed.c @@ -92,7 +92,7 @@ cmsBool GrowMLUpool(cmsMLU* mlu) static cmsBool GrowMLUtable(cmsMLU* mlu) { - int AllocatedEntries; + cmsUInt32Number AllocatedEntries; _cmsMLUentry *NewPtr; // Sanity check @@ -118,7 +118,7 @@ cmsBool GrowMLUtable(cmsMLU* mlu) static int SearchMLUEntry(cmsMLU* mlu, cmsUInt16Number LanguageCode, cmsUInt16Number CountryCode) { - int i; + cmsUInt32Number i; // Sanity check if (mlu == NULL) return -1; @@ -325,8 +325,8 @@ const wchar_t* _cmsMLUgetWide(const cmsMLU* mlu, cmsUInt16Number LanguageCode, cmsUInt16Number CountryCode, cmsUInt16Number* UsedLanguageCode, cmsUInt16Number* UsedCountryCode) { - int i; - int Best = -1; + cmsUInt32Number i; + cmsInt32Number Best = -1; _cmsMLUentry* v; if (mlu == NULL) return NULL; @@ -490,7 +490,7 @@ cmsBool CMSEXPORT cmsMLUtranslationsCodes(const cmsMLU* mlu, if (mlu == NULL) return FALSE; - if (idx >= (cmsUInt32Number) mlu->UsedEntries) return FALSE; + if (idx >= mlu->UsedEntries) return FALSE; entry = &mlu->Entries[idx]; diff --git a/src/cmsopt.c b/src/cmsopt.c index fb12ee2..426ba88 100644 --- a/src/cmsopt.c +++ b/src/cmsopt.c @@ -1418,7 +1418,10 @@ cmsBool OptimizeByJoiningCurves(cmsPipeline** Lut, cmsUInt32Number Intent, cmsUI GammaTables[i] = NULL; } - if (GammaTables != NULL) _cmsFree(Src ->ContextID, GammaTables); + if (GammaTables != NULL) { + _cmsFree(Src->ContextID, GammaTables); + GammaTables = NULL; + } // Maybe the curves are linear at the end if (!AllCurvesAreLinear(ObtainedCurves)) { diff --git a/src/cmsps2.c b/src/cmsps2.c index 9faa43c..0f00773 100644 --- a/src/cmsps2.c +++ b/src/cmsps2.c @@ -1393,14 +1393,15 @@ void BuildColorantList(char *Colorant, int nColorant, cmsUInt16Number Out[]) if (nColorant > cmsMAXCHANNELS) nColorant = cmsMAXCHANNELS; - for (j=0; j < nColorant; j++) { + for (j = 0; j < nColorant; j++) { - sprintf(Buff, "%.3f", Out[j] / 65535.0); - strcat(Colorant, Buff); - if (j < nColorant -1) - strcat(Colorant, " "); + snprintf(Buff, 31, "%.3f", Out[j] / 65535.0); + Buff[31] = 0; + strcat(Colorant, Buff); + if (j < nColorant - 1) + strcat(Colorant, " "); - } + } } diff --git a/src/cmstypes.c b/src/cmstypes.c index e843b35..010996e 100644 --- a/src/cmstypes.c +++ b/src/cmstypes.c @@ -1508,7 +1508,7 @@ cmsBool Type_MLU_Write(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, cmsMLU* mlu =(cmsMLU*) Ptr; cmsUInt32Number HeaderSize; cmsUInt32Number Len, Offset; - int i; + cmsUInt32Number i; if (Ptr == NULL) { diff --git a/src/lcms2_internal.h b/src/lcms2_internal.h index 52b67d7..e121903 100644 --- a/src/lcms2_internal.h +++ b/src/lcms2_internal.h @@ -670,8 +670,8 @@ struct _cms_MLU_struct { cmsContext ContextID; // The directory - int AllocatedEntries; - int UsedEntries; + cmsUInt32Number AllocatedEntries; + cmsUInt32Number UsedEntries; _cmsMLUentry* Entries; // Array of pointers to strings allocated in MemPool // The Pool |