summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Williams <nico@cryptonector.com>2017-03-01 22:45:02 -0600
committerNicolas Williams <nico@cryptonector.com>2017-03-01 22:45:02 -0600
commit9df19f53e44e97d59688a9f3d3736ff0f9cd0222 (patch)
tree1967e0184ba82cdd75f59f6d977f4add4b9af334
parent65cbaac34498a75973e26799dc03dd81bd27e5ad (diff)
Fix off-by-one bug in #1108 fix
-rw-r--r--src/jv.c2
-rw-r--r--tests/jq.test4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/jv.c b/src/jv.c
index c2448a7c..979d188e 100644
--- a/src/jv.c
+++ b/src/jv.c
@@ -297,7 +297,7 @@ static jv jvp_array_slice(jv a, int start, int end) {
return jv_array();
}
- if (a.offset + start > 1 << (sizeof(a.offset) * CHAR_BIT)) {
+ if (a.offset + start >= 1 << (sizeof(a.offset) * CHAR_BIT)) {
jv r = jv_array_sized(end - start);
for (int i = start; i < end; i++)
r = jv_array_append(r, jv_array_get(jv_copy(a), i));
diff --git a/tests/jq.test b/tests/jq.test
index 930bf794..963595b0 100644
--- a/tests/jq.test
+++ b/tests/jq.test
@@ -389,9 +389,9 @@ del(.[2:4],.[0],.[-2:])
# significantly slower under valgrind than .[<large number>] = value.
#
# We range down rather than up so that we have just one realloc.
-reduce range(70010;69999;-1) as $i ([]; .[$i] = $i)|.[69999:70003]
+reduce range(65540;65536;-1) as $i ([]; .[$i] = $i)|.[65536:]
null
-[null,70000,70001,70002]
+[null,65537,65538,65539,65540]
#
# Variables