1
0
mirror of https://github.com/golang/go synced 2024-11-20 06:24:40 -07:00

json: accept escaped slash in string scanner

R=rsc
CC=golang-dev
https://golang.org/cl/1173041
This commit is contained in:
Michael Hoisie 2010-05-08 17:34:05 -07:00 committed by Russ Cox
parent 52cc058172
commit 834abb8068
2 changed files with 2 additions and 1 deletions

View File

@ -24,6 +24,7 @@ var unmarshalTests = []unmarshalTest{
unmarshalTest{`1.2`, new(float), 1.2},
unmarshalTest{`-5`, new(int16), int16(-5)},
unmarshalTest{`"a\u1234"`, new(string), "a\u1234"},
unmarshalTest{`"http:\/\/"`, new(string), "http://"},
unmarshalTest{`"g-clef: \uD834\uDD1E"`, new(string), "g-clef: \U0001D11E"},
unmarshalTest{`"invalid: \uD834x\uDD1E"`, new(string), "invalid: \uFFFDx\uFFFD"},
unmarshalTest{"null", new(interface{}), nil},

View File

@ -349,7 +349,7 @@ func stateInString(s *scanner, c int) int {
// stateInStringEsc is the state after reading `"\` during a quoted string.
func stateInStringEsc(s *scanner, c int) int {
switch c {
case 'b', 'f', 'n', 'r', 't', '\\', '"':
case 'b', 'f', 'n', 'r', 't', '\\', '/', '"':
s.step = stateInString
return scanContinue
}