From f39db38ceacbfac6cdbc4e596cb60e0b5294d983 Mon Sep 17 00:00:00 2001 From: Tim Buckley Date: Tue, 18 Aug 2015 13:54:33 -0600 Subject: [PATCH] Correct potential edge cast in binaryMinIndex and binaryMaxIndex when a search value is out of bounds. --- stackviz/static/js/timeline.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/stackviz/static/js/timeline.js b/stackviz/static/js/timeline.js index 0acb235..35aa1b6 100644 --- a/stackviz/static/js/timeline.js +++ b/stackviz/static/js/timeline.js @@ -40,7 +40,9 @@ var binaryMinIndex = function(min, array, func) { } } - if (func(array[left]) <= min) { + if (left >= array.length) { + return array.length - 1; + } else if (func(array[left]) <= min) { return left; } else { return left - 1; @@ -65,7 +67,9 @@ var binaryMaxIndex = function(max, array, func) { } } - if (func(array[right]) <= max) { + if (right < 0) { + return 0; + } else if (func(array[right]) <= max) { return right + 1; // exclusive index } else { return right;