strcpy() -> strncpy() changes from Bruce Hill

Also added some additional static assertions for string field sizes.
This commit is contained in:
Andrew Johnson
2018-03-03 00:12:59 -06:00
parent c18b6f2ccf
commit 98930eebc4
2 changed files with 6 additions and 4 deletions
+3 -2
View File
@@ -93,6 +93,7 @@ static long readValue(stringinRecord *);
static long init_record(stringinRecord *prec, int pass)
{
STATIC_ASSERT(sizeof(prec->oval)==sizeof(prec->val));
STATIC_ASSERT(sizeof(prec->sval)==sizeof(prec->val));
struct stringindset *pdset;
long status;
@@ -119,7 +120,7 @@ static long init_record(stringinRecord *prec, int pass)
if( pdset->init_record ) {
if((status=(*pdset->init_record)(prec))) return(status);
}
strcpy(prec->oval,prec->val);
strncpy(prec->oval, prec->val, sizeof(prec->val));
return(0);
}
@@ -193,7 +194,7 @@ static long readValue(stringinRecord *prec)
status=dbGetLink(&(prec->siol),DBR_STRING,
prec->sval,0,0);
if (status==0) {
strcpy(prec->val,prec->sval);
strncpy(prec->val, prec->sval, sizeof(prec->val));
prec->udf=FALSE;
}
} else {
+3 -2
View File
@@ -95,6 +95,7 @@ static long writeValue(stringoutRecord *);
static long init_record(stringoutRecord *prec, int pass)
{
STATIC_ASSERT(sizeof(prec->oval)==sizeof(prec->val));
STATIC_ASSERT(sizeof(prec->ivov)==sizeof(prec->val));
struct stringoutdset *pdset;
long status=0;
@@ -121,7 +122,7 @@ static long init_record(stringoutRecord *prec, int pass)
if( pdset->init_record ) {
if((status=(*pdset->init_record)(prec))) return(status);
}
strcpy(prec->oval,prec->val);
strncpy(prec->oval, prec->val, sizeof(prec->val));
return(0);
}
@@ -159,7 +160,7 @@ static long process(stringoutRecord *prec)
break;
case (menuIvoaSet_output_to_IVOV) :
if(prec->pact == FALSE){
strcpy(prec->val,prec->ivov);
strncpy(prec->val, prec->ivov, sizeof(prec->val));
}
status=writeValue(prec); /* write the new value */
break;