From 4b8de19e070f956afc5f32dce6d283f0d4a9815f Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Mon, 25 Aug 2014 12:22:27 +1000 Subject: [PATCH] Add sanity check to decay time to prevent underflow levels of small numbers --- src/libckpool.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libckpool.c b/src/libckpool.c index ea45487d..e4f9bd3b 100644 --- a/src/libckpool.c +++ b/src/libckpool.c @@ -1536,6 +1536,10 @@ void decay_time(double *f, double fadd, double fsecs, double interval) ftotal = 1.0 + fprop; *f += (fadd / fsecs * fprop); *f /= ftotal; + /* Sanity check to prevent meaningless super small numbers that + * eventually underflow libjansson's real number interpretation. */ + if (unlikely(*f < 2E-16)) + *f = 0; } /* Convert a double value into a truncated string for displaying with its