From 2dc7053365aa8283be96ae99e313637775ec6ae6 Mon Sep 17 00:00:00 2001 From: Prince Date: Fri, 25 Dec 2020 18:12:26 +0000 Subject: [PATCH] Check for divisor 0 --- orchagent/crmorch.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/orchagent/crmorch.cpp b/orchagent/crmorch.cpp index 0c02155d473..14ded73d394 100644 --- a/orchagent/crmorch.cpp +++ b/orchagent/crmorch.cpp @@ -541,7 +541,16 @@ void CrmOrch::checkCrmThresholds() if (cnt.usedCounter != 0) { - percentageUtil = (uint32_t)((cnt.usedCounter * 100) / (uint64_t)(cnt.usedCounter + cnt.availableCounter)); + uint32_t dvsr = cnt.usedCounter + cnt.availableCounter; + if (dvsr != 0) + { + percentageUtil = (cnt.usedCounter * 100) / dvsr; + } + else + { + SWSS_LOG_WARN("%s Exception occured (div by Zero): Used count %u free count %u", + res.name.c_str(), cnt.usedCounter, cnt.availableCounter); + } } switch (res.thresholdType)