Module: monitoring-plugins
Branch: master
Commit: 25329a9097cbd272a4d94e2ae9b09e423016c022
Author: Lorenz Kästle <[email protected]>
Committer: GitHub <[email protected]>
Date: Tue Dec 2 11:32:17 2025 +0100
URL:
https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=25329a90
check_snmp: fix offset computation for INTEGER (#2190)
---
plugins/check_snmp.d/check_snmp_helpers.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/plugins/check_snmp.d/check_snmp_helpers.c
b/plugins/check_snmp.d/check_snmp_helpers.c
index ecbfc5dd..f506537a 100644
--- a/plugins/check_snmp.d/check_snmp_helpers.c
+++ b/plugins/check_snmp.d/check_snmp_helpers.c
@@ -446,7 +446,8 @@ check_snmp_evaluation evaluate_single_unit(response_value
response,
long long treated_value = (long long)response.value.uIntVal;
if (eval_params.multiplier_set || eval_params.offset_set) {
- double processed = 0;
+ double processed = (double)response.value.uIntVal;
+
if (eval_params.offset_set) {
processed += eval_params.offset;
}
@@ -480,15 +481,16 @@ check_snmp_evaluation evaluate_single_unit(response_value
response,
} break;
case ASN_INTEGER: {
if (eval_params.multiplier_set || eval_params.offset_set) {
- double processed = 0;
- if (eval_params.multiplier_set) {
- processed = (double)response.value.intVal *
eval_params.multiplier;
- }
+ double processed = (double)response.value.intVal;
if (eval_params.offset_set) {
processed += eval_params.offset;
}
+ if (eval_params.multiplier_set) {
+ processed *= eval_params.multiplier;
+ }
+
result_state.value.doubleVal = processed;
if (eval_params.calculate_rate && have_previous_state) {