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) {

Reply via email to