Просмотр исходного кода

Improve error handling in packet reader - check error before processing

Only clear reserved bytes if read was successful (err == nil). This prevents
processing invalid data when conn.Read() returns an error.

Code review feedback addressed.

Co-authored-by: RPRX <[email protected]>
copilot-swe-agent[bot] 2 недель назад
Родитель
Сommit
cc36c1b5bf
1 измененных файлов с 2 добавлено и 1 удалено
  1. 2 1
      proxy/wireguard/bind.go

+ 2 - 1
proxy/wireguard/bind.go

@@ -183,7 +183,8 @@ func (bind *netBindClient) connectTo(endpoint *netEndpoint) error {
 			buf := make([]byte, maxPacketSize)
 			n, err := conn.Read(buf)
 			
-			if n > 3 {
+			// Only process data if we successfully read something
+			if err == nil && n > 3 {
 				// Clear reserved bytes
 				buf[1] = 0
 				buf[2] = 0