aboutsummaryrefslogtreecommitdiff
path: root/src/json/json.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/json/json.c')
-rw-r--r--src/json/json.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/json/json.c b/src/json/json.c
index b25839f..54057e0 100644
--- a/src/json/json.c
+++ b/src/json/json.c
@@ -182,7 +182,13 @@ parse_result parse_string(byte *src, uptr start_pos, uptr max_pos) {
if (quote_mask != 0) {
result.pos += stdc_trailing_zeros_ui(quote_mask);
- break;
+ uptr backslash_count = 0;
+ while (backslash_count < result.pos &&
+ src[result.pos - backslash_count - 1] == '\\') {
+ backslash_count++;
+ }
+ if (!(backslash_count & 1)) break;
+ result.pos++;
};
}