summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarti <marti.maria@tktbrainpower.com>2016-04-01 10:43:43 +0200
committerMarti <marti.maria@tktbrainpower.com>2016-04-01 10:43:43 +0200
commit6aab195cb71551c0308b27d8dd4f81427fc6a026 (patch)
tree0fe00e41efc8b6c412cb4658d22d079c2250c82f
parent54b50ba248a5e4f1b8e69909580e5cbba05c3b19 (diff)
downloadlcms2-6aab195cb71551c0308b27d8dd4f81427fc6a026.tar.gz
Fixed some glitches from FORTIFY report
-rw-r--r--src/cmscgats.c10
-rw-r--r--src/cmslut.c6
-rw-r--r--src/cmsnamed.c10
-rw-r--r--src/cmsopt.c5
-rw-r--r--src/cmsps2.c13
-rw-r--r--src/cmstypes.c2
-rw-r--r--src/lcms2_internal.h4
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