From: Michael Insel Date: Fri, 8 Feb 2019 15:57:19 +0000 (+0100) Subject: Fix check_swap percentage calculation X-Git-Tag: v2.10.3~30 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=df68e65f0553f9ad314249930a08fb35cb065774;p=icinga2 Fix check_swap percentage calculation This fixes the check_swap percentage calculation. When the pagefile is turned off the available swap and total swap are 0 which leads to a wrong calculation and misformated output. refs #6913 (cherry picked from commit 4961e9ba62eebcfc1cf22e1840b289e4eab067d2) --- diff --git a/plugins/check_swap.cpp b/plugins/check_swap.cpp index 302f20b46..7579073b7 100644 --- a/plugins/check_swap.cpp +++ b/plugins/check_swap.cpp @@ -229,7 +229,10 @@ static int check_swap(printInfoStruct& printInfo) printInfo.aSwap += round(pageFiles.at(i).availableSpwap / pow(1024.0, printInfo.unit)); } - printInfo.percentFree = 100.0 * printInfo.aSwap / printInfo.tSwap; + if (printInfo.aSwap > 0 && printInfo.tSwap > 0) + printInfo.percentFree = 100.0 * printInfo.aSwap / printInfo.tSwap; + else + printInfo.percentFree = 0; return -1; }