fix: tuicv5 panic in ReadFrom

This commit is contained in:
gVisor bot 2023-09-21 15:02:12 +08:00
parent eb2ee5c1ba
commit 1b70a57951

View file

@ -96,10 +96,10 @@ func (q *quicStreamPacketConn) SetWriteDeadline(t time.Time) error {
} }
func (q *quicStreamPacketConn) ReadFrom(p []byte) (n int, addr net.Addr, err error) { func (q *quicStreamPacketConn) ReadFrom(p []byte) (n int, addr net.Addr, err error) {
if q.inputConn != nil { if inputConn := q.inputConn; inputConn != nil { // copy inputConn avoid be nil in for loop
for { for {
var packet Packet var packet Packet
packet, err = ReadPacket(q.inputConn) packet, err = ReadPacket(inputConn)
if err != nil { if err != nil {
return return
} }
@ -116,10 +116,10 @@ func (q *quicStreamPacketConn) ReadFrom(p []byte) (n int, addr net.Addr, err err
} }
func (q *quicStreamPacketConn) WaitReadFrom() (data []byte, put func(), addr net.Addr, err error) { func (q *quicStreamPacketConn) WaitReadFrom() (data []byte, put func(), addr net.Addr, err error) {
if q.inputConn != nil { if inputConn := q.inputConn; inputConn != nil { // copy inputConn avoid be nil in for loop
for { for {
var packet Packet var packet Packet
packet, err = ReadPacket(q.inputConn) packet, err = ReadPacket(inputConn)
if err != nil { if err != nil {
return return
} }