From ebb66b8df91b34e9b729f8b29f8a6afa09df3230 Mon Sep 17 00:00:00 2001 From: waterwin Date: Tue, 15 Feb 2022 12:06:03 +0800 Subject: [PATCH] hmdfs: Bugfix in device security level feature in hmdfs ohos inclusion category: bugfix issue: #I4TQ0H CVE: NA ---------------------------------------------- hmdfs device security level feature, panic when data security level is invalid. Signed-off-by: qianjiaxing --- fs/hmdfs/hmdfs_server.c | 4 ++-- fs/hmdfs/inode_local.c | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/fs/hmdfs/hmdfs_server.c b/fs/hmdfs/hmdfs_server.c index dd4508b80e8e..ea3697f33128 100644 --- a/fs/hmdfs/hmdfs_server.c +++ b/fs/hmdfs/hmdfs_server.c @@ -252,7 +252,7 @@ static int parse_data_sec_level(const char *sl_value, size_t sl_value_len) { int i; - for (i = 0; i <= sizeof(datasl_str) / sizeof(datasl_str[0]); i++) { + for (i = 0; i < sizeof(datasl_str) / sizeof(datasl_str[0]); i++) { if (!strncmp(sl_value, datasl_str[i], strlen(datasl_str[i]))) return i + DATA_SEC_LEVEL0; } @@ -266,7 +266,7 @@ static int check_sec_level(struct hmdfs_peer *node, const char *file_name) int ret = 0; struct path root_path; struct path file_path; - char *value; + char *value = NULL; size_t value_len = DATA_SEC_LEVEL_LENGTH; if (node->devsl <= 0) { diff --git a/fs/hmdfs/inode_local.c b/fs/hmdfs/inode_local.c index 84904f50d27d..561b45dbb465 100644 --- a/fs/hmdfs/inode_local.c +++ b/fs/hmdfs/inode_local.c @@ -901,7 +901,6 @@ int hmdfs_permission(struct inode *inode, int mask) { #ifdef CONFIG_HMDFS_FS_PERMISSION unsigned int mode = inode->i_mode; - struct hmdfs_inode_info *hii = hmdfs_i(inode); kuid_t cur_uid = current_fsuid(); if (uid_eq(cur_uid, ROOT_UID) || uid_eq(cur_uid, SYSTEM_UID)) -- Gitee