diff --git a/src/jv.c b/src/jv.c index f051d730..b3fcd5e3 100644 --- a/src/jv.c +++ b/src/jv.c @@ -658,6 +658,8 @@ jv jv_string_indexes(jv j, jv k) { int idxlen = jv_string_length_bytes(jv_copy(k)); jv a = jv_array(); + if (idxlen == 0) + return a; p = jstr; while ((p = _jq_memmem(p, (jstr + jlen) - p, idxstr, idxlen)) != NULL) { a = jv_array_append(a, jv_number(p - jstr)); diff --git a/tests/jq.test b/tests/jq.test index 6ee657b6..1572043e 100644 --- a/tests/jq.test +++ b/tests/jq.test @@ -1538,4 +1538,9 @@ isempty(1,error("foo")) null false +# Regression test for #1815 +index("") +"" +null +