From 918950d7f8a5f1a736b4f510972a72738c978575 Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Mon, 19 May 2025 17:16:37 -0400 Subject: [PATCH] Fix unescaping bug --- src/parser3.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/parser3.h b/src/parser3.h index 939d402..e7ddf11 100644 --- a/src/parser3.h +++ b/src/parser3.h @@ -501,10 +501,10 @@ inline Status t_hex2(Parser3 *self) { // there's not room, flush, write into a temp buffer, and flush again. char tmp[3]; if (self->utf8Codepoint < 0x80) { - assert(self->bufEnd - self->writeBuf >= 1); + assert(self->buf - self->writeBuf >= 1); *self->writeBuf++ = self->utf8Codepoint; } else if (self->utf8Codepoint < 0x800) { - bool useTmp = self->bufEnd - self->writeBuf < 2; + bool useTmp = self->buf - self->writeBuf < 2; char *p = tmp; if (useTmp) { self->flushString(); @@ -530,7 +530,7 @@ inline Status t_hex2(Parser3 *self) { } MUSTTAIL return Parser3::keepGoing(self); } - bool useTmp = self->bufEnd - self->writeBuf < 3; + bool useTmp = self->buf - self->writeBuf < 3; char *p = tmp; if (useTmp) { self->flushString(); @@ -579,7 +579,7 @@ inline Status t_hex3(Parser3 *self) { if (self->utf8Codepoint > 0x10FFFF) { return S_REJECT; } - bool useTmp = self->bufEnd - self->writeBuf < 4; + bool useTmp = self->buf - self->writeBuf < 4; char *p = tmp; if (useTmp) { self->flushString();