@@ -485,7 +485,7 @@ func (t *prefixPtr) SetBSON(raw RawValue) error {
485485 if err != nil {
486486 return err
487487 }
488- vr := newValueReader (raw .Type , bytes . NewReader ( raw .Value ) )
488+ vr := newBufferedValueReader (raw .Type , raw .Value )
489489 err = decoder .DecodeValue (DecodeContext {Registry : NewMgoRegistry ()}, vr , rval )
490490 if err != nil {
491491 return err
@@ -512,7 +512,7 @@ func (t *prefixVal) SetBSON(raw RawValue) error {
512512 if err != nil {
513513 return err
514514 }
515- vr := newValueReader (raw .Type , bytes . NewReader ( raw .Value ) )
515+ vr := newBufferedValueReader (raw .Type , raw .Value )
516516 err = decoder .DecodeValue (DecodeContext {Registry : NewMgoRegistry ()}, vr , rval )
517517 if err != nil {
518518 return err
@@ -936,7 +936,7 @@ func (o *setterType) SetBSON(raw RawValue) error {
936936 if raw .Type == 0x00 {
937937 raw .Type = TypeEmbeddedDocument
938938 }
939- vr := newValueReader (raw .Type , bytes . NewReader ( raw .Value ) )
939+ vr := newBufferedValueReader (raw .Type , raw .Value )
940940 err = decoder .DecodeValue (DecodeContext {Registry : NewMgoRegistry ()}, vr , rval )
941941 if err != nil {
942942 return err
@@ -1289,7 +1289,7 @@ func (s *getterSetterD) SetBSON(raw RawValue) error {
12891289 if raw .Type == 0x00 {
12901290 raw .Type = TypeEmbeddedDocument
12911291 }
1292- vr := newValueReader (raw .Type , bytes . NewReader ( raw .Value ) )
1292+ vr := newBufferedValueReader (raw .Type , raw .Value )
12931293 err = decoder .DecodeValue (DecodeContext {Registry : NewMgoRegistry ()}, vr , rval )
12941294 if err != nil {
12951295 return err
@@ -1315,7 +1315,7 @@ func (i *getterSetterInt) SetBSON(raw RawValue) error {
13151315 if raw .Type == 0x00 {
13161316 raw .Type = TypeEmbeddedDocument
13171317 }
1318- vr := newValueReader (raw .Type , bytes . NewReader ( raw .Value ) )
1318+ vr := newBufferedValueReader (raw .Type , raw .Value )
13191319 err = decoder .DecodeValue (DecodeContext {Registry : NewMgoRegistry ()}, vr , rval )
13201320 if err != nil {
13211321 return err
@@ -1337,7 +1337,7 @@ func (s *ifaceSlice) SetBSON(raw RawValue) error {
13371337 if err != nil {
13381338 return err
13391339 }
1340- vr := newValueReader (raw .Type , bytes . NewReader ( raw .Value ) )
1340+ vr := newBufferedValueReader (raw .Type , raw .Value )
13411341 err = decoder .DecodeValue (DecodeContext {Registry : NewMgoRegistry ()}, vr , rval )
13421342 if err != nil {
13431343 return err
0 commit comments