Skip to content

APIs missing argument validation #546

@dmknutsen

Description

@dmknutsen

Describe the bug
The following APIs are missing argument validation:

cfe_sb_api.c:CFE_SB_SubscribeFull - Quality is not checked…consider checking that it is 0 or 1
cfe_es_api.c:CFE_ES_DeleteApp - Can get a segmentation fault if user tries to delete an APP greater than CFE_PLATFORM_ES_MAX_APPLICATIONS
cfe_tbl_api.c:CFE_TBL_GetAddresses - Can result in Segmentation fault if NumTables grows larger than max number of tables.
cfe_tbl_api.c:CFE_TBL_ReleaseAddresses - Should check to make sure NumTables is less than CFE_PLATFORM_TBL_MAX_NUM_TABLES
cfe_es_perf.c:CFE_ES_PerfLogAdd - Should check if EntryExit is either a 0 or 1
cfe_es_api.c:CFE_ES_ReloadApp - Can Result in Segmentation fault if APID is invalid
cfe_es_api.c:CFE_ES_CreateChildTask - Input Argument 'Flags' is not validated…also it does not appear to be used anywhere, consider removing
cfe_es_api.c:CFE_ES_GetAppName - Consider comparing BufferLength with OS_MAX_API_NAME prior to use.
cfe_es_api.c:CFE_ES_RegisterCDS - Consider checking if block size is less than CFE_PLATFORM_ES_MAX_BLOCK_SIZE
cfe_fs_api.c:CFE_FS_InitHeader - SubType not checked
cfe_sb_api.c:CFE_SB_ZeroCopyGetPtr - Is there a maximum message size? Consider verifying MsgSize prior to use.
cfe_sb_util.c:CFE_SB_SetUserDataLength - Consider verifying Length of user data (if there exists a limit) and/or TotalMsgSize
cfe_sb_api.c:CFE_SB_SubscribeLocal - MsgLim is not checked…if a max limit does exist, should add argument validation

Expected behavior
All input arguments are validated prior to use.

System observed on:
NA - code review/audit

Reporter Info
Dan Knutsen
NASA Goddard

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions