sysSentry/add-boundary-check-for-settings.patch

40 lines
1.9 KiB
Diff
Raw Normal View History

2024-11-06 12:05:23 +08:00
From abf36bf0351efde388c089245aed9f6d8d2e6d3b Mon Sep 17 00:00:00 2001
From: luckky <guodashun1@huawei.com>
Date: Wed, 6 Nov 2024 11:42:53 +0800
Subject: [PATCH] add boundary check for settings
1. add two boundary checks for page_isolation_threshold and hbm_online_repair_log_level
(0 <= page_isolation_threshold)
(0(LOG_DEBUG) <= hbm_online_repair_log_level <= 3(LOG_ERROR))
---
src/c/hbm_online_repair/hbm_online_repair.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/c/hbm_online_repair/hbm_online_repair.c b/src/c/hbm_online_repair/hbm_online_repair.c
index 943f201..00c9c0b 100644
--- a/src/c/hbm_online_repair/hbm_online_repair.c
+++ b/src/c/hbm_online_repair/hbm_online_repair.c
@@ -89,6 +89,9 @@ void hbm_param_init(void)
if (ret < 0) {
global_level_setting = DEFAULT_LOG_LEVEL;
log(LOG_WARNING, "Get log level from config failed, set the default value %d\n", DEFAULT_LOG_LEVEL);
+ } else if (global_level_setting < LOG_DEBUG || global_level_setting > LOG_ERROR) {
+ log(LOG_WARNING, "The log level value %d in config is out of range, set the default value %d\n", global_level_setting, DEFAULT_LOG_LEVEL);
+ global_level_setting = DEFAULT_LOG_LEVEL;
} else {
log(LOG_INFO, "log level: %d\n", global_level_setting);
}
@@ -98,6 +101,9 @@ void hbm_param_init(void)
if (ret < 0) {
page_isolation_threshold = DEFAULT_PAGE_ISOLATION_THRESHOLD;
log(LOG_WARNING, "Get page_isolation_threshold from config failed, set the default value %d\n", DEFAULT_PAGE_ISOLATION_THRESHOLD);
+ } else if (page_isolation_threshold < 0) {
+ log(LOG_WARNING, "The page_isolation_threshold %d in config is out of range, set the default value %d\n", page_isolation_threshold, DEFAULT_PAGE_ISOLATION_THRESHOLD);
+ page_isolation_threshold = DEFAULT_PAGE_ISOLATION_THRESHOLD;
} else {
log(LOG_INFO, "page_isolation_threshold: %d\n", page_isolation_threshold);
}
--
2.43.0