Skip to content

Commit e35eb96

Browse files
Alexander Chaikabzick
authored andcommitted
fix: loop issue triggered by unexpected escape sequences
1 parent 398be88 commit e35eb96

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

token.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,8 @@ func (t *Token) ValueUnescaped() []byte {
206206
result = append(result, str[:idx]...)
207207
result = append(result, p...)
208208
str = str[idx+len(p)+1:]
209+
} else {
210+
break
209211
}
210212
} else {
211213
break

tokenizer_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ func TestTokenize(t *testing.T) {
8686
{"два три", Token{key: TokenString, string: quote, value: []byte("\"два три\"")}},
8787
{"one\" two", Token{key: TokenString, string: quote, value: []byte(`"one\" two"`)}},
8888
{"", Token{key: TokenString, string: quote, value: []byte("\"\"")}},
89+
{`one\' two`, Token{key: TokenString, string: quote, value: []byte(`"one\' two"`)}},
8990
}
9091
for _, v := range framed {
9192
stream := tokenizer.ParseBytes(v.token.value)

0 commit comments

Comments
 (0)