diff --git a/pandora_server/lib/PandoraFMS/Core.pm b/pandora_server/lib/PandoraFMS/Core.pm index a384d3701e..bbce7913e9 100644 --- a/pandora_server/lib/PandoraFMS/Core.pm +++ b/pandora_server/lib/PandoraFMS/Core.pm @@ -4652,11 +4652,17 @@ sub get_module_status ($$$) { } # (-inf, critical_min), [critical_max, +inf) else { - return 1 if ($data < $critical_min || $data >= $critical_max); - return 1 if ($data <= $critical_max && $critical_max < $critical_min); + if ($critical_min == 0) { + return 1 if ($data > $critical_max); + }elsif ($critical_max == 0) { + return 1 if ($data <= $critical_min); + } else { + return 1 if ($data < $critical_min || $data >= $critical_max); + return 1 if ($data <= $critical_max && $critical_max < $critical_min); + } } } - + # Warning if ($warning_min ne $warning_max) { # [warning_min, warning_max) @@ -4666,8 +4672,14 @@ sub get_module_status ($$$) { } # (-inf, warning_min), [warning_max, +inf) else { - return 2 if ($data < $warning_min || $data >= $warning_max); - return 2 if ($data <= $warning_max && $warning_max < $warning_min); + if ($warning_min == 0) { + return 1 if ($data > $warning_max); + }elsif ($warning_max == 0) { + return 1 if ($data <= $warning_min); + } else { + return 2 if ($data < $warning_min || $data >= $warning_max); + return 2 if ($data <= $warning_max && $warning_max < $warning_min); + } } } }