Skip to content

Commit a75e570

Browse files
committed
fix: vision conn read short buffer error
1 parent 9e0889c commit a75e570

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

transport/vless/vision/conn.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"crypto/subtle"
66
gotls "crypto/tls"
77
"encoding/binary"
8+
"errors"
89
"fmt"
910
"io"
1011
"net"
@@ -117,9 +118,11 @@ func (vc *Conn) ReadBuffer(buffer *buf.Buffer) error {
117118
case commandPaddingDirect:
118119
needReturn := false
119120
if vc.input != nil {
120-
_, err := buffer.ReadFrom(vc.input)
121+
_, err := buffer.ReadOnceFrom(vc.input)
121122
if err != nil {
122-
return err
123+
if !errors.Is(err, io.EOF) {
124+
return err
125+
}
123126
}
124127
if vc.input.Len() == 0 {
125128
needReturn = true
@@ -129,9 +132,11 @@ func (vc *Conn) ReadBuffer(buffer *buf.Buffer) error {
129132
}
130133
}
131134
if vc.rawInput != nil {
132-
_, err := buffer.ReadFrom(vc.rawInput)
135+
_, err := buffer.ReadOnceFrom(vc.rawInput)
133136
if err != nil {
134-
return err
137+
if !errors.Is(err, io.EOF) {
138+
return err
139+
}
135140
}
136141
needReturn = true
137142
if vc.rawInput.Len() == 0 {

0 commit comments

Comments
 (0)