mirror of
https://github.com/shtorm-7/sing-box-extended.git
synced 2026-06-22 18:44:13 +03:00
Fix naive overflow
This commit is contained in:
@@ -252,7 +252,14 @@ func (c *naiveH1Conn) read(p []byte) (n int, err error) {
|
|||||||
c.paddingRemaining = 0
|
c.paddingRemaining = 0
|
||||||
}
|
}
|
||||||
if c.readPadding < kFirstPaddings {
|
if c.readPadding < kFirstPaddings {
|
||||||
paddingHdr := p[:3]
|
var paddingHdr []byte
|
||||||
|
if len(p) >= 3 {
|
||||||
|
paddingHdr = p[:3]
|
||||||
|
} else {
|
||||||
|
_paddingHdr := make([]byte, 3)
|
||||||
|
defer common.KeepAlive(_paddingHdr)
|
||||||
|
paddingHdr = common.Dup(_paddingHdr)
|
||||||
|
}
|
||||||
_, err = io.ReadFull(c.Conn, paddingHdr)
|
_, err = io.ReadFull(c.Conn, paddingHdr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
@@ -424,7 +431,14 @@ func (c *naiveH2Conn) read(p []byte) (n int, err error) {
|
|||||||
c.paddingRemaining = 0
|
c.paddingRemaining = 0
|
||||||
}
|
}
|
||||||
if c.readPadding < kFirstPaddings {
|
if c.readPadding < kFirstPaddings {
|
||||||
paddingHdr := p[:3]
|
var paddingHdr []byte
|
||||||
|
if len(p) >= 3 {
|
||||||
|
paddingHdr = p[:3]
|
||||||
|
} else {
|
||||||
|
_paddingHdr := make([]byte, 3)
|
||||||
|
defer common.KeepAlive(_paddingHdr)
|
||||||
|
paddingHdr = common.Dup(_paddingHdr)
|
||||||
|
}
|
||||||
_, err = io.ReadFull(c.reader, paddingHdr)
|
_, err = io.ReadFull(c.reader, paddingHdr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user