diff --git a/internal/encoded_test.go b/internal/encoded_test.go index d23abaaf9..24d05adc6 100644 --- a/internal/encoded_test.go +++ b/internal/encoded_test.go @@ -80,6 +80,13 @@ func TestDefaultDataConverter(t *testing.T) { r3 := testDataConverterFunction(t, dc, f3, []byte("")) require.Equal(t, r3, "nil-result") }) + t.Run("nil-resp", func(t *testing.T) { + t.Parallel() + + var ret []struct{} + require.NoError(t, dc.FromData([]byte(""), []interface{}{&ret})) + require.Nil(t, ret) + }) } // testDataConverter implements encoded.DataConverter using gob diff --git a/internal/encoding.go b/internal/encoding.go index 52c6213be..639c3dcc3 100644 --- a/internal/encoding.go +++ b/internal/encoding.go @@ -64,6 +64,9 @@ func (g jsonEncoding) Unmarshal(data []byte, objs []interface{}) error { dec.UseNumber() for i, obj := range objs { if err := dec.Decode(obj); err != nil { + if err == io.EOF { + continue + } return fmt.Errorf( "unable to decode argument: %d, %v, with json error: %v", i, reflect.TypeOf(obj), err) }