mirror of
https://github.com/MetaCubeX/Clash.Meta.git
synced 2025-04-11 04:50:56 +00:00
fix: do not use buffer for cmdUpdatePaddingScheme
This commit is contained in:
parent
fab0ce10cb
commit
775f377d45
1 changed files with 6 additions and 7 deletions
|
@ -258,19 +258,18 @@ func (s *Session) recvLoop() error {
|
|||
}
|
||||
case cmdUpdatePaddingScheme:
|
||||
if hdr.Length() > 0 {
|
||||
buffer := pool.Get(int(hdr.Length()))
|
||||
if _, err := io.ReadFull(s.conn, buffer); err != nil {
|
||||
pool.Put(buffer)
|
||||
// `rawScheme` Do not use buffer to prevent subsequent misuse
|
||||
rawScheme := make([]byte, int(hdr.Length()))
|
||||
if _, err := io.ReadFull(s.conn, rawScheme); err != nil {
|
||||
return err
|
||||
}
|
||||
if s.isClient {
|
||||
if padding.UpdatePaddingScheme(buffer, s.padding) {
|
||||
log.Infoln("[Update padding succeed] %x\n", md5.Sum(buffer))
|
||||
if padding.UpdatePaddingScheme(rawScheme, s.padding) {
|
||||
log.Infoln("[Update padding succeed] %x\n", md5.Sum(rawScheme))
|
||||
} else {
|
||||
log.Warnln("[Update padding failed] %x\n", md5.Sum(buffer))
|
||||
log.Warnln("[Update padding failed] %x\n", md5.Sum(rawScheme))
|
||||
}
|
||||
}
|
||||
pool.Put(buffer)
|
||||
}
|
||||
default:
|
||||
// I don't know what command it is (can't have data)
|
||||
|
|
Loading…
Add table
Reference in a new issue