diff --git a/src/util.c b/src/util.c index e18a91b6..3f7cab8d 100644 --- a/src/util.c +++ b/src/util.c @@ -435,10 +435,8 @@ jv jq_util_input_next_input(jq_util_input_state *state) { } else { if (jv_parser_remaining(state->parser) == 0) { is_last = jq_util_input_read_more(state); - if (is_last && state->buf_valid_len == 0) { + if (is_last && state->buf_valid_len == 0) value = jv_invalid(); - break; - } jv_parser_set_buf(state->parser, state->buf, state->buf_valid_len, !is_last); } value = jv_parser_next(state->parser); diff --git a/tests/shtest b/tests/shtest index 6e7690e4..1a956130 100755 --- a/tests/shtest +++ b/tests/shtest @@ -109,10 +109,21 @@ printf '1' | $JQ -ce --seq . > $d/out 2>&1 cmp $d/out $d/expected cat > $d/expected <:1): Unfinished abandoned text at EOF at line 2, column 0 EOF -printf '1\n' | $JQ -cen --seq '[inputs] == []' >/dev/null 2> $d/out +if printf '1\n' | $JQ -cen --seq '[inputs] == []' >/dev/null 2> $d/out; then + printf 'Error expected but jq exited successfully\n' 1>&2 + exit 2 +fi cmp $d/out $d/expected +# Regression test for #951 +printf '"a\n' > $d/input +if $VALGRIND $Q $JQ -e . $d/input; then + printf 'Issue #951 is back?\n' 1>&2 + exit 2 +fi + ## Test streaming parser ## If we add an option to stream to the `import ... as $symbol;` directive