40 lines
1.3 KiB
Diff
40 lines
1.3 KiB
Diff
From 324c47ae4bd64bed134f75dc2a9ec93f8161ea26 Mon Sep 17 00:00:00 2001
|
|
From: jiangheng <jiangheng14@huawei.com>
|
|
Date: Thu, 14 Jul 2022 22:23:51 +0800
|
|
Subject: [PATCH 12/19] add-port-mask-range-check
|
|
|
|
---
|
|
src/ltran/ltran_param.c | 11 ++++++++++-
|
|
1 file changed, 10 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/ltran/ltran_param.c b/src/ltran/ltran_param.c
|
|
index aafbeee..cd65531 100644
|
|
--- a/src/ltran/ltran_param.c
|
|
+++ b/src/ltran/ltran_param.c
|
|
@@ -335,12 +335,21 @@ static int32_t parse_bond_ports(const config_t *config, const char *key, struct
|
|
}
|
|
|
|
ltran_config->bond.port_num = separate_str_to_array(port_str, ltran_config->bond.portmask, GAZELLE_MAX_BOND_NUM);
|
|
- if (ltran_config->bond.port_num >= GAZELLE_MAX_BOND_NUM) {
|
|
+ if (ltran_config->bond.port_num > GAZELLE_MAX_BOND_NUM) {
|
|
free(port_str);
|
|
gazelle_set_errno(GAZELLE_ERANGE);
|
|
return GAZELLE_ERR;
|
|
}
|
|
|
|
+ for (uint32_t i = 0; i < ltran_config->bond.port_num; i++) {
|
|
+ if (ltran_config->bond.portmask[i] < GAZELLE_BOND_PORT_MASK_MIN ||
|
|
+ ltran_config->bond.portmask[i] > GAZELLE_BOND_PORT_MASK_MAX) {
|
|
+ free(port_str);
|
|
+ gazelle_set_errno(GAZELLE_ERANGE);
|
|
+ return GAZELLE_ERR;
|
|
+ }
|
|
+ }
|
|
+
|
|
free(port_str);
|
|
return GAZELLE_OK;
|
|
}
|
|
--
|
|
2.23.0
|
|
|