From f81ae8d5e50a01a3e4237aff55d79ff3c52524c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Wed, 10 May 2017 15:19:47 +0200 Subject: [PATCH] [apps/sequence] Avoid infinite loop Change-Id: Ib84ce244c8faeabc9d71bccd590b3a242cef184c --- apps/sequence/sequence.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/sequence/sequence.cpp b/apps/sequence/sequence.cpp index 00805da3f..b9951ca58 100644 --- a/apps/sequence/sequence.cpp +++ b/apps/sequence/sequence.cpp @@ -309,6 +309,11 @@ float Sequence::sumOfTermsBetweenAbscissa(float start, float end, Context * cont return NAN; } for (float i = roundf(start); i <= roundf(end); i = i + 1.0f) { + /* When |start| >> 1.0f, start + 1.0f = start. In that case, quit the + * infinite loop. */ + if (i == i-1.0f || i == i+1.0f) { + return NAN; + } result += evaluateAtAbscissa(i, context); } return result;