mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 08:14:18 -04:00
Replace io.LimitReader with http.MaxBytesReader (#5241)
Previously we use io.LimitReader to limit the number of bytes from http request. However, there is a subtle difference between io.LimitReader and io.ReadAll as io.LimitReader will return a Reader, not a ReadCloser. As such the behavior will actually be difference in case of error handling (and when to close). This PR changes io.LimitReader to http.MaxBytesReader so that the behavior can be preserved (except the number of bytes). See https://stackoverflow.com/a/52699702 Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This commit is contained in:
@@ -92,7 +92,7 @@ func requestToMsgGet(req *http.Request) (*dns.Msg, error) {
|
||||
}
|
||||
|
||||
func toMsg(r io.ReadCloser) (*dns.Msg, error) {
|
||||
buf, err := io.ReadAll(io.LimitReader(r, 65536))
|
||||
buf, err := io.ReadAll(http.MaxBytesReader(nil, r, 65536))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user