diff --git a/jsonchecker/fail62.json b/jsonchecker/fail62.json new file mode 100644 index 000000000..0b2d0bbe7 --- /dev/null +++ b/jsonchecker/fail62.json @@ -0,0 +1 @@ +{"foo":"baa} diff --git a/jsonchecker/fail63.json b/jsonchecker/fail63.json new file mode 100644 index 000000000..a36de6d48 --- /dev/null +++ b/jsonchecker/fail63.json @@ -0,0 +1 @@ +"f[ diff --git a/jsonchecker/fail64.json b/jsonchecker/fail64.json new file mode 100644 index 000000000..1cc80efa6 --- /dev/null +++ b/jsonchecker/fail64.json @@ -0,0 +1 @@ +" diff --git a/src/stage1_find_marks.cpp b/src/stage1_find_marks.cpp index d764aa042..369b53714 100644 --- a/src/stage1_find_marks.cpp +++ b/src/stage1_find_marks.cpp @@ -609,6 +609,12 @@ WARN_UNUSED quote_bits, prev_iter_ends_pseudo_pred); idx += 64; } + + // is last string quote closed? + if (prev_iter_inside_quote) { + return false; + } + // finally, flatten out the remaining structurals from the last iteration flatten_bits(base_ptr, base, idx, structurals);