Skip to content

Commit afcda1c

Browse files
committed
require strict match random data fetch size
1 parent 3b0a19d commit afcda1c

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

dialer/h2.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,13 @@ func H2ProxyDialerFromURL(u *url.URL, next xproxy.Dialer) (xproxy.Dialer, error)
9999
return nil, fmt.Errorf("garbage fetch request failed: %w", err)
100100
}
101101
defer resp.Body.Close()
102-
if _, err = io.Copy(io.Discard, io.LimitReader(resp.Body, int64(garbageLen))); err != nil {
102+
n, err := io.Copy(io.Discard, io.LimitReader(resp.Body, int64(garbageLen)))
103+
if err != nil {
103104
return nil, fmt.Errorf("garbage body fetch failed: %w", err)
104105
}
106+
if n < int64(garbageLen) {
107+
return nil, errors.New("incomplete garbage read")
108+
}
105109
return c, nil
106110
},
107111
}

0 commit comments

Comments
 (0)