You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
2.1 KiB
49 lines
2.1 KiB
11 months ago
|
From 7330e3e3e08d9baff23332e764f9a53561939fff Mon Sep 17 00:00:00 2001
|
||
|
From: Bart Van Assche <bvanassche@acm.org>
|
||
|
Date: Thu, 2 Sep 2021 21:06:54 -0700
|
||
|
Subject: [PATCH] libsnmp: Log "Truncating integer value >32 bits" once
|
||
|
|
||
|
Log this message once instead of every time sysUpTime and/or
|
||
|
hrSystemUptime are accessed after snmpd is running for more than 497 days.
|
||
|
|
||
|
Fixes: https://github.com/net-snmp/net-snmp/issues/144
|
||
|
---
|
||
|
snmplib/snmp_client.c | 9 ++++++---
|
||
|
1 file changed, 6 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/snmplib/snmp_client.c b/snmplib/snmp_client.c
|
||
|
index 0f539c63fe..b00670d973 100644
|
||
|
--- a/snmplib/snmp_client.c
|
||
|
+++ b/snmplib/snmp_client.c
|
||
|
@@ -853,7 +853,8 @@ snmp_set_var_value(netsnmp_variable_list * vars,
|
||
|
= (const u_long *) value;
|
||
|
*(vars->val.integer) = *val_ulong;
|
||
|
if (*(vars->val.integer) > 0xffffffff) {
|
||
|
- snmp_log(LOG_ERR,"truncating integer value > 32 bits\n");
|
||
|
+ NETSNMP_LOGONCE((LOG_INFO,
|
||
|
+ "truncating integer value > 32 bits\n"));
|
||
|
*(vars->val.integer) &= 0xffffffff;
|
||
|
}
|
||
|
}
|
||
|
@@ -865,7 +866,8 @@ snmp_set_var_value(netsnmp_variable_list * vars,
|
||
|
= (const unsigned long long *) value;
|
||
|
*(vars->val.integer) = (long) *val_ullong;
|
||
|
if (*(vars->val.integer) > 0xffffffff) {
|
||
|
- snmp_log(LOG_ERR,"truncating integer value > 32 bits\n");
|
||
|
+ NETSNMP_LOGONCE((LOG_INFO,
|
||
|
+ "truncating integer value > 32 bits\n"));
|
||
|
*(vars->val.integer) &= 0xffffffff;
|
||
|
}
|
||
|
}
|
||
|
@@ -877,7 +879,8 @@ snmp_set_var_value(netsnmp_variable_list * vars,
|
||
|
= (const uintmax_t *) value;
|
||
|
*(vars->val.integer) = (long) *val_uintmax_t;
|
||
|
if (*(vars->val.integer) > 0xffffffff) {
|
||
|
- snmp_log(LOG_ERR,"truncating integer value > 32 bits\n");
|
||
|
+ NETSNMP_LOGONCE((LOG_INFO,
|
||
|
+ "truncating integer value > 32 bits\n"));
|
||
|
*(vars->val.integer) &= 0xffffffff;
|
||
|
}
|
||
|
}
|
||
|
|