From 2f59744d5319477105c41033f9d831520935a7df Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Sun, 17 Apr 2016 21:20:50 -0400 Subject: [PATCH] Default conversion for byte slices is incorrect Nil slices are getting allocated, which is incorrect and changes behavior in some cases. []byte(nil) -> []byte(nil) --- pkg/conversion/converter.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/conversion/converter.go b/pkg/conversion/converter.go index 29c9fdc86dd..1aeb7a04606 100644 --- a/pkg/conversion/converter.go +++ b/pkg/conversion/converter.go @@ -116,6 +116,10 @@ func (c *Converter) DefaultMeta(t reflect.Type) (FieldMatchingFlags, *Meta) { // Convert_Slice_byte_To_Slice_byte prevents recursing into every byte func Convert_Slice_byte_To_Slice_byte(in *[]byte, out *[]byte, s Scope) error { + if *in == nil { + *out = nil + return nil + } *out = make([]byte, len(*in)) copy(*out, *in) return nil