Skip to content

Commit 7acbb40

Browse files
authored
Merge pull request #432 from AllenX2018/fix-raw-message-integer-issue
fix issue #389 #411
2 parents 69f2a91 + 3987001 commit 7acbb40

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

config.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,11 +183,11 @@ func (cfg *frozenConfig) validateJsonRawMessage(extension EncoderExtension) {
183183
encoder := &funcEncoder{func(ptr unsafe.Pointer, stream *Stream) {
184184
rawMessage := *(*json.RawMessage)(ptr)
185185
iter := cfg.BorrowIterator([]byte(rawMessage))
186+
defer cfg.ReturnIterator(iter)
186187
iter.Read()
187-
if iter.Error != nil {
188+
if iter.Error != nil && iter.Error != io.EOF {
188189
stream.WriteRaw("null")
189190
} else {
190-
cfg.ReturnIterator(iter)
191191
stream.WriteRaw(string(rawMessage))
192192
}
193193
}, func(ptr unsafe.Pointer) bool {

value_tests/raw_message_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import (
77
func init() {
88
marshalCases = append(marshalCases,
99
json.RawMessage("{}"),
10+
json.RawMessage("12345"),
11+
json.RawMessage("3.14"),
12+
json.RawMessage("-0.5e10"),
1013
struct {
1114
Env string `json:"env"`
1215
Extra json.RawMessage `json:"extra,omitempty"`

0 commit comments

Comments
 (0)