|
@@ -1,5 +1,5 @@
|
|
|
diff --git a/thirdparty/lwip/src/apps/snmp/snmp_mib2_system.c b/thirdparty/lwip/src/apps/snmp/snmp_mib2_system.c
|
|
|
-index 4aa2926..0ff8c76 100755
|
|
|
+index 4aa2926..89f5d92 100755
|
|
|
--- a/thirdparty/lwip/src/apps/snmp/snmp_mib2_system.c
|
|
|
+++ b/thirdparty/lwip/src/apps/snmp/snmp_mib2_system.c
|
|
|
@@ -43,6 +43,10 @@
|
|
@@ -13,15 +13,17 @@ index 4aa2926..0ff8c76 100755
|
|
|
#if LWIP_SNMP && SNMP_LWIP_MIB2
|
|
|
|
|
|
#if SNMP_USE_NETCONN
|
|
|
-@@ -284,6 +288,7 @@ system_set_test(const struct snmp_scalar_array_node_def *node, u16_t len, void *
|
|
|
+@@ -284,6 +288,9 @@ system_set_test(const struct snmp_scalar_array_node_def *node, u16_t len, void *
|
|
|
snmp_err_t ret = SNMP_ERR_WRONGVALUE;
|
|
|
const u16_t* var_bufsize = NULL;
|
|
|
const u16_t* var_wr_len;
|
|
|
++#ifdef SNMP_SYS_PARAM_FILENAME
|
|
|
+ bool check_flag = true;
|
|
|
++#endif
|
|
|
|
|
|
LWIP_UNUSED_ARG(value);
|
|
|
|
|
|
-@@ -307,13 +312,16 @@ system_set_test(const struct snmp_scalar_array_node_def *node, u16_t len, void *
|
|
|
+@@ -307,13 +314,24 @@ system_set_test(const struct snmp_scalar_array_node_def *node, u16_t len, void *
|
|
|
|
|
|
/* check if value is writable at all */
|
|
|
if (*var_bufsize > 0) {
|
|
@@ -31,16 +33,23 @@ index 4aa2926..0ff8c76 100755
|
|
|
if (var_wr_len == NULL) {
|
|
|
/* we have to take the terminating 0 into account */
|
|
|
- if (len < *var_bufsize) {
|
|
|
-+ if (len < *var_bufsize && check_flag) {
|
|
|
++#ifdef SNMP_SYS_PARAM_CHECK
|
|
|
++ if (len <= *var_bufsize && check_flag) {
|
|
|
++#else
|
|
|
++ if (len <= *var_bufsize) {
|
|
|
++#endif
|
|
|
ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
} else {
|
|
|
-- if (len <= *var_bufsize) {
|
|
|
++#ifdef SNMP_SYS_PARAM_CHECK
|
|
|
+ if (len <= *var_bufsize && check_flag) {
|
|
|
++#else
|
|
|
+ if (len <= *var_bufsize) {
|
|
|
++#endif
|
|
|
ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
}
|
|
|
-@@ -358,6 +366,9 @@ system_set_value(const struct snmp_scalar_array_node_def *node, u16_t len, void
|
|
|
+@@ -358,6 +376,9 @@ system_set_value(const struct snmp_scalar_array_node_def *node, u16_t len, void
|
|
|
} else {
|
|
|
*var_wr_len = len;
|
|
|
}
|