From 6f0d350f2c3d461d45cbb47b59d189a608c4e575 Mon Sep 17 00:00:00 2001 From: technateNG Date: Wed, 8 May 2019 02:56:36 +0200 Subject: [PATCH] Fix to issue #148. (#151) * Issue #148 fix. * Test cases for issue #148. --- jsonchecker/fail62.json | 1 + jsonchecker/fail63.json | 1 + jsonchecker/fail64.json | 1 + src/stage1_find_marks.cpp | 6 ++++++ 4 files changed, 9 insertions(+) create mode 100644 jsonchecker/fail62.json create mode 100644 jsonchecker/fail63.json create mode 100644 jsonchecker/fail64.json 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);