From d396c68d15fab775257e682a1fb222a0e815f3a6 Mon Sep 17 00:00:00 2001 From: Lothar Braun Date: Thu, 14 May 2020 23:40:37 +0200 Subject: [PATCH] Bugfix: Wrong values for flowRate in ipfixSampler lead to crashes Too small or low values in the configuration of ipfixSampler can lead to floating point exceptions during runtime. --- src/modules/ipfix/IpfixSamplerCfg.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modules/ipfix/IpfixSamplerCfg.cpp b/src/modules/ipfix/IpfixSamplerCfg.cpp index 536aac1..d84c462 100644 --- a/src/modules/ipfix/IpfixSamplerCfg.cpp +++ b/src/modules/ipfix/IpfixSamplerCfg.cpp @@ -42,6 +42,9 @@ IpfixSamplerCfg::IpfixSamplerCfg(XMLElement* elem) if (e->matches("flowrate")) { flowRate = getDouble("flowrate"); + if (flowRate <= 0 || flowRate > 1){ + THROWEXCEPTION("Illegal value for flowRate. Must be greater 0 and smaller or equal to 1, received %lf", flowRate); + } } else if (e->matches("next")) { // ignore next } else { msg(LOG_CRIT, "Unknown IpfixSampler config statement %s\n", e->getName().c_str());