diff --git a/src/rec/aSubRecord.c b/src/rec/aSubRecord.c index f3c5ce4c6..455f803cf 100644 --- a/src/rec/aSubRecord.c +++ b/src/rec/aSubRecord.c @@ -210,6 +210,7 @@ static long init_record(aSubRecord *prec, int pass) return S_db_BadSub; } } + STATIC_ASSERT(sizeof(prec->onam)==sizeof(prec->snam)); strcpy(prec->onam, prec->snam); prec->oval = prec->val; return 0; diff --git a/src/rec/stringinRecord.c b/src/rec/stringinRecord.c index dc5fde6f3..5bff99c8c 100644 --- a/src/rec/stringinRecord.c +++ b/src/rec/stringinRecord.c @@ -119,7 +119,8 @@ static long init_record(stringinRecord *prec, int pass) if( pdset->init_record ) { if((status=(*pdset->init_record)(prec))) return(status); } - strncpy(prec->oval,prec->val,sizeof(prec->val)); + STATIC_ASSERT(sizeof(prec->oval)==sizeof(prec->val)); + strcpy(prec->oval,prec->val); return(0); } @@ -158,9 +159,9 @@ static void monitor(stringinRecord *prec) unsigned short monitor_mask; monitor_mask = recGblResetAlarms(prec); - if(strncmp(prec->oval,prec->val,sizeof(prec->val))) { + if(strcmp(prec->oval,prec->val)) { monitor_mask |= DBE_VALUE|DBE_LOG; - strncpy(prec->oval,prec->val,sizeof(prec->val)); + strcpy(prec->oval,prec->val); } if (prec->mpst == stringinPOST_Always) monitor_mask |= DBE_VALUE; diff --git a/src/rec/stringoutRecord.c b/src/rec/stringoutRecord.c index a1c3f90f6..d62fe2479 100644 --- a/src/rec/stringoutRecord.c +++ b/src/rec/stringoutRecord.c @@ -121,7 +121,8 @@ static long init_record(stringoutRecord *prec, int pass) if( pdset->init_record ) { if((status=(*pdset->init_record)(prec))) return(status); } - strncpy(prec->oval,prec->val,sizeof(prec->val)); + STATIC_ASSERT(sizeof(prec->oval)==sizeof(prec->val)); + strcpy(prec->oval,prec->val); return(0); } @@ -186,9 +187,9 @@ static void monitor(stringoutRecord *prec) unsigned short monitor_mask; monitor_mask = recGblResetAlarms(prec); - if(strncmp(prec->oval,prec->val,sizeof(prec->val))) { + if(strcmp(prec->oval,prec->val)) { monitor_mask |= DBE_VALUE|DBE_LOG; - strncpy(prec->oval,prec->val,sizeof(prec->val)); + strcpy(prec->oval,prec->val); } if (prec->mpst == stringoutPOST_Always) monitor_mask |= DBE_VALUE;