- After a bug at TRICS I replaced all occurrences of strcpy, strcat, sprintf

by length limited versions wherever appropriate.


SKIPPED:
	psi/el755driv.c
	psi/faverage.c
	psi/frame.c
	psi/lmd200.c
	psi/polterwrite.c
	psi/psi.c
	psi/sanswave.c
	psi/sinqhmdriv.c
	psi/termprot.c
This commit is contained in:
koennecke
2009-12-04 12:58:31 +00:00
parent 297f9f2e02
commit 8cc5474334
80 changed files with 899 additions and 881 deletions

View File

@@ -111,10 +111,10 @@ char *makeFilename(SicsInterp * pSics, SConnection * pCon)
*/
strcat(pRes, "/");
strcat(pRes, pPref->text);
sprintf(pNumText, "%4.4d", iYear);
snprintf(pNumText,sizeof(pNumText)-1, "%4.4d", iYear);
strcat(pRes, pNumText);
strcat(pRes, "n");
sprintf(pNumText, "%6.6d", iNum);
snprintf(pNumText,sizeof(pNumText)-1, "%6.6d", iNum);
strcat(pRes, pNumText);
strcat(pRes, pEnd->text);
@@ -220,13 +220,13 @@ static int handleFileOperations(SConnection * pCon, pNXScript self,
*/
status = NXopen(argv[2], access, &self->fileHandle);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to open %s", argv[2]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to open %s", argv[2]);
SCWrite(pCon, buffer, eError);
return -1;
}
status = NXDinitfromfile(argv[3], &self->dictHandle);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to open dictionary %s", argv[3]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to open dictionary %s", argv[3]);
SCWrite(pCon, buffer, eError);
return -1;
}
@@ -254,7 +254,7 @@ static void putMotor(SConnection * pCon, SicsInterp * pSics,
*/
brumm = (pMotor) FindCommandData(pSics, argv[3], "Motor");
if (!brumm) {
sprintf(buffer, "ERROR: motor %s not found!", argv[3]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: motor %s not found!", argv[3]);
SCWrite(pCon, buffer, eLogError);
return;
}
@@ -264,13 +264,13 @@ static void putMotor(SConnection * pCon, SicsInterp * pSics,
*/
status = MotorGetSoftPosition(brumm, pCon, &fVal);
if (!status) {
sprintf(buffer, "ERROR: failed to read position of %s", argv[3]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to read position of %s", argv[3]);
SCWrite(pCon, buffer, eLogError);
return;
}
status = NXDputalias(self->fileHandle, self->dictHandle, argv[2], &fVal);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write %s with alias %s",
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write %s with alias %s",
argv[3], argv[2]);
SCWrite(pCon, buffer, eLogError);
return;
@@ -279,14 +279,14 @@ static void putMotor(SConnection * pCon, SicsInterp * pSics,
/*
if alias_null is available: write zero point
*/
strcpy(buffer, argv[2]);
strcat(buffer, "_null");
strncpy(buffer, argv[2],131);
strncat(buffer, "_null",131);
if (NXDdefget(self->dictHandle, buffer, dummy, 255)) {
MotorGetPar(brumm, "softzero", &fVal);
status =
NXDputalias(self->fileHandle, self->dictHandle, buffer, &fVal);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write %s zero with alias %s",
snprintf(buffer,131, "ERROR: failed to write %s zero with alias %s",
argv[3], argv[2]);
SCWrite(pCon, buffer, eLogError);
return;
@@ -317,7 +317,7 @@ static void putCounter(SConnection * pCon, SicsInterp * pSics,
*/
cter = (pCounter) FindCommandData(pSics, argv[3], "SingleCounter");
if (!cter) {
sprintf(buffer, "ERROR: counter %s not found!", argv[3]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: counter %s not found!", argv[3]);
SCWrite(pCon, buffer, eLogError);
return;
}
@@ -326,12 +326,12 @@ static void putCounter(SConnection * pCon, SicsInterp * pSics,
do preset
*/
fVal = GetCounterPreset(cter);
strcpy(newAlias, argv[2]);
strcat(newAlias, "_preset");
strncpy(newAlias, argv[2],255);
strncat(newAlias, "_preset",255);
status =
NXDputalias(self->fileHandle, self->dictHandle, newAlias, &fVal);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write preset to %s", newAlias);
snprintf(buffer,255, "ERROR: failed to write preset to %s", newAlias);
SCWrite(pCon, buffer, eLogError);
}
@@ -349,7 +349,7 @@ static void putCounter(SConnection * pCon, SicsInterp * pSics,
status =
NXDputalias(self->fileHandle, self->dictHandle, newAlias, dummy);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write counter mode to %s", newAlias);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write counter mode to %s", newAlias);
SCWrite(pCon, buffer, eLogError);
}
@@ -357,13 +357,13 @@ static void putCounter(SConnection * pCon, SicsInterp * pSics,
do time
*/
fVal = GetCountTime(cter, pCon);
strcpy(newAlias, argv[2]);
strcat(newAlias, "_time");
strncpy(newAlias, argv[2],255);
strncat(newAlias, "_time",255);
if (NXDdefget(self->dictHandle, newAlias, dummy, 79)) {
status =
NXDputalias(self->fileHandle, self->dictHandle, newAlias, &fVal);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write count time to %s", newAlias);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write count time to %s", newAlias);
SCWrite(pCon, buffer, eLogError);
}
}
@@ -373,7 +373,7 @@ static void putCounter(SConnection * pCon, SicsInterp * pSics,
do counter and monitors
*/
for (i = 0; i < 10; i++) {
sprintf(newAlias, "%s_%2.2d", argv[2], i);
snprintf(newAlias,255, "%s_%2.2d", argv[2], i);
if (NXDdefget(self->dictHandle, newAlias, dummy, 79)) {
counts = GetMonitor(cter, i, pCon);
icounts = (int) counts;
@@ -413,7 +413,7 @@ static void putSicsData(SConnection * pCon, SicsInterp * pSics,
status =
NXDputalias(self->fileHandle, self->dictHandle, argv[2], data->data);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write sicsdata to %s", argv[2]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write sicsdata to %s", argv[2]);
SCWrite(pCon, buffer, eLogError);
}
}
@@ -434,14 +434,14 @@ static void putAttribute(SConnection * pCon, SicsInterp * pSics,
status = NXDopenalias(self->fileHandle, self->dictHandle, argv[2]);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to open alias %s", argv[2]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to open alias %s", argv[2]);
SCWrite(pCon, buffer, eLogError);
return;
}
status = NXputattr(self->fileHandle, argv[3], (void *) argv[4],
strlen(argv[4]) + 1, type);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write attribute %s", argv[3]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write attribute %s", argv[3]);
SCWrite(pCon, buffer, eLogError);
}
NXopenpath(self->fileHandle, "/");
@@ -615,8 +615,8 @@ static void updateHMDim(NXScript * self, pHistMem mem)
*/
GetHistDim(mem, iDim, &rank);
for (i = 0; i < rank; i++) {
sprintf(dummy, "dim%1.1d", i);
sprintf(value, "%d", iDim[i]);
snprintf(dummy,sizeof(dummy)-1, "dim%1.1d", i);
snprintf(value,sizeof(value)-1, "%d", iDim[i]);
status = NXDupdate(self->dictHandle, dummy, value);
if (status == 0) {
NXDadd(self->dictHandle, dummy, value);
@@ -624,9 +624,9 @@ static void updateHMDim(NXScript * self, pHistMem mem)
}
timeBin = GetHistTimeBin(mem, &timeLength);
if (timeLength > 2) {
sprintf(dummy, "%d", timeLength);
snprintf(dummy,sizeof(dummy)-1, "%d", timeLength);
} else {
sprintf(dummy, "%d", 1);
snprintf(dummy,sizeof(dummy)-1, "%d", 1);
}
status = NXDupdate(self->dictHandle, "timedim", dummy);
if (status == 0) {
@@ -659,7 +659,7 @@ static void putHistogramMemory(SConnection * pCon, SicsInterp * pSics,
*/
mem = (pHistMem) FindCommandData(pSics, argv[3], "HistMem");
if (!mem) {
sprintf(buffer, "ERROR: HistMem %s not found!", argv[3]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: HistMem %s not found!", argv[3]);
SCWrite(pCon, buffer, eLogError);
return;
}
@@ -679,13 +679,13 @@ static void putHistogramMemory(SConnection * pCon, SicsInterp * pSics,
subset = 1;
status = Tcl_GetInt(InterpGetTcl(pSics), argv[4], &start);
if (status != TCL_OK) {
sprintf(buffer, "ERROR: failed to convert %s to integer", argv[4]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to convert %s to integer", argv[4]);
SCWrite(pCon, buffer, eLogError);
return;
}
status = Tcl_GetInt(InterpGetTcl(pSics), argv[5], &length);
if (status != TCL_OK) {
sprintf(buffer, "ERROR: failed to convert %s to integer", argv[5]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to convert %s to integer", argv[5]);
SCWrite(pCon, buffer, eLogError);
return;
}
@@ -697,7 +697,7 @@ static void putHistogramMemory(SConnection * pCon, SicsInterp * pSics,
if (argc > 6) {
status = Tcl_GetInt(InterpGetTcl(pSics), argv[6], &bank);
if (status != TCL_OK) {
sprintf(buffer, "ERROR: failed to convert %s to integer", argv[6]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to convert %s to integer", argv[6]);
SCWrite(pCon, buffer, eLogError);
return;
}
@@ -742,7 +742,7 @@ static void putHistogramMemory(SConnection * pCon, SicsInterp * pSics,
*/
status = NXDputalias(self->fileHandle, self->dictHandle, argv[2], iData);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write histogram memory data");
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write histogram memory data");
SCWrite(pCon, buffer, eLogError);
}
@@ -779,7 +779,7 @@ static void putHistogramMemoryChunked(SConnection * pCon,
*/
mem = (pHistMem) FindCommandData(pSics, argv[3], "HistMem");
if (!mem) {
sprintf(buffer, "ERROR: HistMem %s not found!", argv[3]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: HistMem %s not found!", argv[3]);
SCWrite(pCon, buffer, eLogError);
return;
}
@@ -797,7 +797,7 @@ static void putHistogramMemoryChunked(SConnection * pCon,
*/
status = Tcl_GetInt(InterpGetTcl(pSics), argv[4], &noChunks);
if (status != TCL_OK) {
sprintf(buffer, "ERROR: failed to convert %s to integer", argv[4]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to convert %s to integer", argv[4]);
SCWrite(pCon, buffer, eLogError);
return;
}
@@ -840,7 +840,7 @@ static void putHistogramMemoryChunked(SConnection * pCon,
*/
status = NXDputalias(self->fileHandle, self->dictHandle, argv[2], iData);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write histogram memory data");
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write histogram memory data");
SCWrite(pCon, buffer, eLogError);
}
@@ -943,7 +943,7 @@ static void putTimeBinning(SConnection * pCon, SicsInterp * pSics,
*/
mem = (pHistMem) FindCommandData(pSics, argv[3], "HistMem");
if (!mem) {
sprintf(buffer, "ERROR: HistMem %s not found!", argv[3]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: HistMem %s not found!", argv[3]);
SCWrite(pCon, buffer, eLogError);
return;
}
@@ -954,12 +954,12 @@ static void putTimeBinning(SConnection * pCon, SicsInterp * pSics,
*/
status = NXDdefget(self->dictHandle, argv[2], buffer, 254);
if (!status) {
sprintf(buffer, "ERROR: alias %s for time binning not found", argv[2]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: alias %s for time binning not found", argv[2]);
SCWrite(pCon, buffer, eLogError);
return;
}
timeBin = GetHistTimeBin(mem, &timeLength);
sprintf(defString, "%s -dim {%d} ", buffer, timeLength);
snprintf(defString,sizeof(defString)-1, "%s -dim {%d} ", buffer, timeLength);
/*
Divide the time binning when appropriate and write
@@ -983,7 +983,7 @@ static void putTimeBinning(SConnection * pCon, SicsInterp * pSics,
}
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write time binning");
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write time binning");
SCWrite(pCon, buffer, eLogError);
}
SCSendOK(pCon);
@@ -1014,7 +1014,7 @@ static void putArray(SConnection * pCon, SicsInterp * pSics,
*/
status = Tcl_GetInt(tcl, argv[4], &length);
if (status != TCL_OK) {
sprintf(buffer, "ERROR: failed to convert %s to integer in putarray",
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to convert %s to integer in putarray",
argv[4]);
SCWrite(pCon, buffer, eLogError);
return;
@@ -1039,12 +1039,12 @@ static void putArray(SConnection * pCon, SicsInterp * pSics,
try getting data
*/
for (i = 0; i < length; i++) {
sprintf(num, "%d", i);
snprintf(num,sizeof(num)-1, "%d", i);
varData = (char *) Tcl_GetVar2(tcl, argv[3], num, 0);
if (varData != NULL) {
status = Tcl_GetDouble(tcl, varData, &dVal);
if (status != TCL_OK) {
sprintf(buffer,
snprintf(buffer,sizeof(buffer)-1,
"ERROR: failed to convert %s to double in putarray",
varData);
SCWrite(pCon, buffer, eLogError);
@@ -1062,7 +1062,7 @@ static void putArray(SConnection * pCon, SicsInterp * pSics,
*/
status = NXDdefget(self->dictHandle, argv[2], buffer, 254);
if (!status) {
sprintf(buffer, "ERROR: alias %s for array not found in putarray",
snprintf(buffer,sizeof(buffer)-1, "ERROR: alias %s for array not found in putarray",
argv[2]);
SCWrite(pCon, buffer, eLogError);
free(data);
@@ -1075,7 +1075,7 @@ static void putArray(SConnection * pCon, SicsInterp * pSics,
*/
status = NXDputdef(self->fileHandle, self->dictHandle, defString, data);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write array in putarray");
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write array in putarray");
SCWrite(pCon, buffer, eLogError);
}
free(data);
@@ -1106,7 +1106,7 @@ static void putIntArray(SConnection * pCon, SicsInterp * pSics,
*/
status = Tcl_GetInt(tcl, argv[4], &length);
if (status != TCL_OK) {
sprintf(buffer, "ERROR: failed to convert %s to integer", argv[4]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to convert %s to integer", argv[4]);
SCWrite(pCon, buffer, eLogError);
return;
}
@@ -1127,12 +1127,12 @@ static void putIntArray(SConnection * pCon, SicsInterp * pSics,
try getting data
*/
for (i = 0; i < length; i++) {
sprintf(num, "%d", i);
snprintf(num,sizeof(num)-1, "%d", i);
varData = (char *) Tcl_GetVar2(tcl, argv[3], num, 0);
if (varData != NULL) {
status = Tcl_GetInt(tcl, varData, &iVal);
if (status != TCL_OK) {
sprintf(buffer, "ERROR: failed to convert %s to int", varData);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to convert %s to int", varData);
SCWrite(pCon, buffer, eLogError);
}
data[i] = iVal;
@@ -1147,7 +1147,7 @@ static void putIntArray(SConnection * pCon, SicsInterp * pSics,
*/
status = NXDdefget(self->dictHandle, argv[2], buffer, 254);
if (!status) {
sprintf(buffer, "ERROR: alias %s for array not found", argv[2]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: alias %s for array not found", argv[2]);
SCWrite(pCon, buffer, eLogError);
free(data);
return;
@@ -1159,7 +1159,7 @@ static void putIntArray(SConnection * pCon, SicsInterp * pSics,
*/
status = NXDputdef(self->fileHandle, self->dictHandle, defString, data);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write array");
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write array");
SCWrite(pCon, buffer, eLogError);
}
free(data);
@@ -1206,7 +1206,7 @@ static int handlePut(SConnection * pCon, SicsInterp * pSics,
}
status = Tcl_GetDouble(InterpGetTcl(pSics), argv[3], &dVal);
if (status != TCL_OK) {
sprintf(buffer, "ERROR: failed to convert %s to float", argv[3]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to convert %s to float", argv[3]);
SCWrite(pCon, buffer, eLogError);
return 1;
}
@@ -1214,7 +1214,7 @@ static int handlePut(SConnection * pCon, SicsInterp * pSics,
status = NXDputalias(self->fileHandle, self->dictHandle,
argv[2], &fVal);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write %f to alias %s",
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write %f to alias %s",
fVal, argv[2]);
SCWrite(pCon, buffer, eLogError);
}
@@ -1227,14 +1227,14 @@ static int handlePut(SConnection * pCon, SicsInterp * pSics,
}
status = Tcl_GetInt(InterpGetTcl(pSics), argv[3], &iVal);
if (status != TCL_OK) {
sprintf(buffer, "ERROR: failed to convert %s to int", argv[3]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to convert %s to int", argv[3]);
SCWrite(pCon, buffer, eLogError);
return 1;
}
status = NXDputalias(self->fileHandle, self->dictHandle,
argv[2], &iVal);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write %d to alias %s",
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write %d to alias %s",
iVal, argv[2]);
SCWrite(pCon, buffer, eLogError);
}
@@ -1250,15 +1250,15 @@ static int handlePut(SConnection * pCon, SicsInterp * pSics,
trim(buffer);
status = NXDdefget(self->dictHandle, argv[2], defString, 1023);
if (status != NX_OK) {
sprintf(buffer, "ERROR: alias %s not found in puttext", argv[2]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: alias %s not found in puttext", argv[2]);
SCWrite(pCon, buffer, eLogError);
return 1;
}
if (strlen(defString) < 900) {
strcat(defString, " -dim {");
sprintf(numBuf, "%d", (int) strlen(buffer) + 1);
strcat(defString, numBuf);
strcat(defString, " }");
strncat(defString, " -dim {",1024);
snprintf(numBuf,sizeof(numBuf)-1, "%d", (int) strlen(buffer) + 1);
strncat(defString, numBuf,1024);
strncat(defString, " }",1024);
} else {
SCWrite(pCon, "ERROR: out of definition string space in puttext",
eLogError);
@@ -1267,7 +1267,7 @@ static int handlePut(SConnection * pCon, SicsInterp * pSics,
status = NXDputdef(self->fileHandle, self->dictHandle,
defString, buffer);
if (status != NX_OK) {
sprintf(buffer, "ERROR: failed to write alias %s", argv[2]);
snprintf(buffer,sizeof(buffer)-1, "ERROR: failed to write alias %s", argv[2]);
SCWrite(pCon, buffer, eLogError);
}
return 1;