]> Cypherpunks repositories - gostls13.git/commit
encoding/json: fix decoding of types with '[]byte' as underlying type
authorHÃ¥vard Haugen <havard.haugen@gmail.com>
Sun, 26 Apr 2015 21:52:42 +0000 (23:52 +0200)
committerRuss Cox <rsc@golang.org>
Fri, 15 May 2015 16:26:53 +0000 (16:26 +0000)
commit4302fd0409da5e4f1d71471a6770dacdc3301197
treec3651ad85b83f1f8446d8f43acefef48b1c77a86
parent5726af54eb3a52b9446a834991110b945e780e99
encoding/json: fix decoding of types with '[]byte' as underlying type

All slice types which have elements of kind reflect.Uint8 are marshalled
into base64 for compactness. When decoding such data into a custom type
based on []byte the decoder checked the slice kind instead of the slice
element kind, so no appropriate decoder was found.

Fixed by letting the decoder check slice element kind like the encoder.
This guarantees that already encoded data can still be successfully
decoded.

Fixes #8962.

Change-Id: Ia320d4dc2c6e9e5fe6d8dc15788c81da23d20c4f
Reviewed-on: https://go-review.googlesource.com/9371
Reviewed-by: Peter Waldschmidt <peter@waldschmidt.com>
Reviewed-by: Russ Cox <rsc@golang.org>
src/encoding/json/decode.go
src/encoding/json/decode_test.go
src/encoding/json/encode.go