Explorar o código

Fixed encoding length

Michael Mitton %!s(int64=15) %!d(string=hai) anos
pai
achega
3df1c6c280
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      ber.go

+ 1 - 1
ber.go

@@ -351,7 +351,7 @@ func (p *Packet) Bytes() []byte {
 	var out bytes.Buffer
 	var out bytes.Buffer
 	out.Write( []byte { p.ClassType | p.TagType | p.Tag } )
 	out.Write( []byte { p.ClassType | p.TagType | p.Tag } )
 	packet_length := EncodeInteger( p.DataLength() )
 	packet_length := EncodeInteger( p.DataLength() )
-	if len( packet_length ) > 1 {
+	if p.DataLength() > 127 || len( packet_length ) > 1 {
 		out.Write( []byte { byte( len( packet_length ) | 128 ) } )
 		out.Write( []byte { byte( len( packet_length ) | 128 ) } )
 		out.Write( packet_length )
 		out.Write( packet_length )
 	} else {
 	} else {