fix segments size

This commit is contained in:
ffdfgdfg 2019-12-17 18:50:28 +08:00
parent 2629078988
commit 5a0fe14f23

View File

@ -41,6 +41,9 @@ func (Self *BasePackager) NewPac(contents ...interface{}) (err error) {
} }
} }
Self.setLength() Self.setLength()
if Self.Length > MAXIMUM_SEGMENT_SIZE {
err = errors.New("mux:packer: newpack content segment too large")
}
return return
} }
@ -77,6 +80,11 @@ func (Self *BasePackager) UnPack(reader io.Reader) (n uint16, err error) {
} }
if int(Self.Length) > cap(Self.Content) { if int(Self.Length) > cap(Self.Content) {
err = errors.New("unpack err, content length too large") err = errors.New("unpack err, content length too large")
return
}
if Self.Length > MAXIMUM_SEGMENT_SIZE {
err = errors.New("mux:packer: unpack content segment too large")
return
} }
Self.Content = Self.Content[:int(Self.Length)] Self.Content = Self.Content[:int(Self.Length)]
//n, err := io.ReadFull(reader, Self.Content) //n, err := io.ReadFull(reader, Self.Content)