From 710b8e81de78cc85bf856f8325cdf07b39a2a555 Mon Sep 17 00:00:00 2001 From: chengjinsong Date: Tue, 23 Aug 2022 15:57:51 +0800 Subject: [PATCH] codex Signed-off-by: chengjinsong --- interfaces/innerkits/hookmgr/hookmgr.c | 4 ++-- interfaces/innerkits/include/syspara/parameter.h | 1 + interfaces/innerkits/syspara/param_comm.c | 2 +- services/include/list.h | 2 +- services/utils/list.c | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/interfaces/innerkits/hookmgr/hookmgr.c b/interfaces/innerkits/hookmgr/hookmgr.c index fb941d19..9b04d4a0 100644 --- a/interfaces/innerkits/hookmgr/hookmgr.c +++ b/interfaces/innerkits/hookmgr/hookmgr.c @@ -262,7 +262,7 @@ static int hookExecutionProc(ListNode *node, void *cookie) */ int HookMgrExecute(HOOK_MGR *hookMgr, int stage, void *executionContext, const HOOK_EXEC_OPTIONS *options) { - int flags; + unsigned int flags; HOOK_STAGE *stageItem; HOOK_EXECUTION_ARGS args; @@ -276,7 +276,7 @@ int HookMgrExecute(HOOK_MGR *hookMgr, int stage, void *executionContext, const H flags = 0; if (options != NULL) { - flags = options->flags; + flags = (unsigned int)(options->flags); } args.executionContext = executionContext; diff --git a/interfaces/innerkits/include/syspara/parameter.h b/interfaces/innerkits/include/syspara/parameter.h index 519764ca..0f3c1cff 100755 --- a/interfaces/innerkits/include/syspara/parameter.h +++ b/interfaces/innerkits/include/syspara/parameter.h @@ -27,6 +27,7 @@ extern "C" { #define PARAM_NAME_LEN_MAX 96 #define OS_FULL_NAME_LEN 128 #define VERSION_ID_MAX_LEN 256 +#define PARAM_BUFFER_MAX (0x01 << 16) static const char EMPTY_STR[] = { "" }; diff --git a/interfaces/innerkits/syspara/param_comm.c b/interfaces/innerkits/syspara/param_comm.c index a7f3135e..5812ae60 100644 --- a/interfaces/innerkits/syspara/param_comm.c +++ b/interfaces/innerkits/syspara/param_comm.c @@ -42,7 +42,7 @@ INIT_LOCAL_API int IsValidParamValue(const char *value, uint32_t len) INIT_LOCAL_API int GetParameter_(const char *key, const char *def, char *value, uint32_t len) { - if ((key == NULL) || (value == NULL)) { + if ((key == NULL) || (value == NULL) || (len > (uint32_t)PARAM_BUFFER_MAX)) { return EC_INVALID; } uint32_t size = len; diff --git a/services/include/list.h b/services/include/list.h index 38e423df..43bfc6c8 100755 --- a/services/include/list.h +++ b/services/include/list.h @@ -169,7 +169,7 @@ ListNode *OH_ListFind(const ListNode *head, void *data, ListTraversalProc compar * @return return -1 for invalid input arguments. * when TRAVERSE_STOP_WHEN_ERROR is specified, it will return errors from traversalProc */ -int OH_ListTraversal(ListNode *head, void *data, ListTraversalProc traversalProc, int flags); +int OH_ListTraversal(ListNode *head, void *data, ListTraversalProc traversalProc, unsigned int flags); /** * @brief ListNode destroy function prototype diff --git a/services/utils/list.c b/services/utils/list.c index 7f5dd90d..bd354a3d 100644 --- a/services/utils/list.c +++ b/services/utils/list.c @@ -151,7 +151,7 @@ ListNode *OH_ListFind(const ListNode *head, void *data, ListTraversalProc compar * @return return -1 for invalid input arguments. * when TRAVERSE_STOP_WHEN_ERROR is specified, it will return errors from traversalProc */ -int OH_ListTraversal(ListNode *head, void *data, ListTraversalProc traversalProc, int flags) +int OH_ListTraversal(ListNode *head, void *data, ListTraversalProc traversalProc, unsigned int flags) { int ret; ListNode *match; -- GitLab