[monitoring-plugins] check_snmp: fix offset computation for INTEGER ...

GitHub git at monitoring-plugins.org
Tue Dec 2 11:40:11 CET 2025


    Module: monitoring-plugins
    Branch: master
    Commit: 25329a9097cbd272a4d94e2ae9b09e423016c022
    Author: Lorenz Kästle <12514511+RincewindsHat at users.noreply.github.com>
 Committer: GitHub <noreply at github.com>
      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) {



More information about the Commits mailing list