@@ -81,8 +81,8 @@ int32 CFE_TBL_Register( CFE_TBL_Handle_t *TblHandlePtr,
81
81
Status = CFE_TBL_ERR_INVALID_NAME ;
82
82
83
83
/* Perform a buffer overrun safe copy of name for debug log message */
84
- strncpy (TblName , Name , CFE_MISSION_TBL_MAX_NAME_LENGTH );
85
- TblName [CFE_MISSION_TBL_MAX_NAME_LENGTH - 1 ] = '\0' ;
84
+ strncpy (TblName , Name , sizeof ( TblName ) - 1 );
85
+ TblName [sizeof ( TblName ) - 1 ] = '\0' ;
86
86
CFE_ES_WriteToSysLog ("CFE_TBL:Register-Table Name (%s) is bad length (%d)" ,TblName ,(int )NameLen );
87
87
}
88
88
else
@@ -314,7 +314,8 @@ int32 CFE_TBL_Register( CFE_TBL_Handle_t *TblHandlePtr,
314
314
RegRecPtr -> ValidationFuncPtr = TblValidationFuncPtr ;
315
315
316
316
/* Save Table Name in Registry */
317
- strncpy (RegRecPtr -> Name , TblName , CFE_TBL_MAX_FULL_NAME_LEN );
317
+ strncpy (RegRecPtr -> Name , TblName , sizeof (RegRecPtr -> Name ) - 1 );
318
+ RegRecPtr -> Name [sizeof (RegRecPtr -> Name ) - 1 ] = '\0' ;
318
319
319
320
/* Set the "Dump Only" flag to value based upon selected option */
320
321
if ((TblOptionFlags & CFE_TBL_OPT_LD_DMP_MSK ) == CFE_TBL_OPT_DUMP_ONLY )
@@ -398,10 +399,14 @@ int32 CFE_TBL_Register( CFE_TBL_Handle_t *TblHandlePtr,
398
399
399
400
if ((CritRegRecPtr != NULL ) && (CritRegRecPtr -> TableLoadedOnce ))
400
401
{
401
- strncpy (WorkingBufferPtr -> DataSource , CritRegRecPtr -> LastFileLoaded , OS_MAX_PATH_LEN );
402
+ strncpy (WorkingBufferPtr -> DataSource , CritRegRecPtr -> LastFileLoaded ,
403
+ sizeof (WorkingBufferPtr -> DataSource ) - 1 );
404
+ WorkingBufferPtr -> DataSource [sizeof (WorkingBufferPtr -> DataSource ) - 1 ] = '\0' ;
402
405
WorkingBufferPtr -> FileCreateTimeSecs = CritRegRecPtr -> FileCreateTimeSecs ;
403
406
WorkingBufferPtr -> FileCreateTimeSubSecs = CritRegRecPtr -> FileCreateTimeSubSecs ;
404
- strncpy (RegRecPtr -> LastFileLoaded , CritRegRecPtr -> LastFileLoaded , OS_MAX_PATH_LEN );
407
+ strncpy (RegRecPtr -> LastFileLoaded , CritRegRecPtr -> LastFileLoaded ,
408
+ sizeof (RegRecPtr -> LastFileLoaded ) - 1 );
409
+ RegRecPtr -> LastFileLoaded [sizeof (RegRecPtr -> LastFileLoaded ) - 1 ] = '\0' ;
405
410
RegRecPtr -> TimeOfLastUpdate .Seconds = CritRegRecPtr -> TimeOfLastUpdate .Seconds ;
406
411
RegRecPtr -> TimeOfLastUpdate .Subseconds = CritRegRecPtr -> TimeOfLastUpdate .Subseconds ;
407
412
RegRecPtr -> TableLoadedOnce = CritRegRecPtr -> TableLoadedOnce ;
@@ -441,7 +446,8 @@ int32 CFE_TBL_Register( CFE_TBL_Handle_t *TblHandlePtr,
441
446
if (CritRegRecPtr != NULL )
442
447
{
443
448
CritRegRecPtr -> CDSHandle = RegRecPtr -> CDSHandle ;
444
- strncpy (CritRegRecPtr -> Name , TblName , CFE_TBL_MAX_FULL_NAME_LEN );
449
+ strncpy (CritRegRecPtr -> Name , TblName , sizeof (CritRegRecPtr -> Name ) - 1 );
450
+ CritRegRecPtr -> Name [sizeof (CritRegRecPtr -> Name ) - 1 ] = '\0' ;
445
451
CritRegRecPtr -> FileCreateTimeSecs = 0 ;
446
452
CritRegRecPtr -> FileCreateTimeSubSecs = 0 ;
447
453
CritRegRecPtr -> LastFileLoaded [0 ] = '\0' ;
@@ -874,7 +880,8 @@ int32 CFE_TBL_Load( CFE_TBL_Handle_t TblHandle,
874
880
/* On initial loads, make sure registry is given file/address of data source */
875
881
strncpy (RegRecPtr -> LastFileLoaded ,
876
882
WorkingBufferPtr -> DataSource ,
877
- OS_MAX_PATH_LEN );
883
+ sizeof (RegRecPtr -> LastFileLoaded ) - 1 );
884
+ RegRecPtr -> LastFileLoaded [sizeof (RegRecPtr -> LastFileLoaded ) - 1 ] = '\0' ;
878
885
879
886
CFE_TBL_NotifyTblUsersOfUpdate (RegRecPtr );
880
887
@@ -1494,7 +1501,7 @@ int32 CFE_TBL_Modified( CFE_TBL_Handle_t TblHandle )
1494
1501
1495
1502
/* Keep a record of change for the ground operators reference */
1496
1503
RegRecPtr -> TimeOfLastUpdate = CFE_TIME_GetTime ();
1497
- RegRecPtr -> LastFileLoaded [OS_MAX_PATH_LEN - 1 ] = '\0' ;
1504
+ RegRecPtr -> LastFileLoaded [sizeof ( RegRecPtr -> LastFileLoaded ) - 1 ] = '\0' ;
1498
1505
1499
1506
/* Update CRC on contents of table */
1500
1507
RegRecPtr -> Buffers [RegRecPtr -> ActiveBufferIndex ].Crc =
@@ -1504,13 +1511,13 @@ int32 CFE_TBL_Modified( CFE_TBL_Handle_t TblHandle )
1504
1511
CFE_MISSION_ES_DEFAULT_CRC );
1505
1512
1506
1513
FilenameLen = strlen (RegRecPtr -> LastFileLoaded );
1507
- if (FilenameLen < (OS_MAX_PATH_LEN - 4 ))
1514
+ if (FilenameLen < (sizeof ( RegRecPtr -> LastFileLoaded ) - 4 ))
1508
1515
{
1509
1516
strncpy (& RegRecPtr -> LastFileLoaded [FilenameLen ], "(*)" , 4 );
1510
1517
}
1511
1518
else
1512
1519
{
1513
- strncpy (& RegRecPtr -> LastFileLoaded [( OS_MAX_PATH_LEN - 4 ) ], "(*)" , 4 );
1520
+ strncpy (& RegRecPtr -> LastFileLoaded [sizeof ( RegRecPtr -> LastFileLoaded ) - 4 ], "(*)" , 4 );
1514
1521
}
1515
1522
1516
1523
AccessIterator = RegRecPtr -> HeadOfAccessList ;
0 commit comments