mirror of
https://github.com/mjl-/mox.git
synced 2025-06-28 01:48:15 +03:00
smtp: add data reader fuzzer + fix OOB read
This commit is contained in:
parent
44d37892b8
commit
f10bb2c1ae
@ -135,7 +135,7 @@ func (r *DataReader) Read(p []byte) (int, error) {
|
||||
if len(r.buf) > 0 {
|
||||
// Reject bare \r.
|
||||
for i, c := range r.buf {
|
||||
if c == '\r' && (i == len(r.buf) || r.buf[i+1] != '\n') {
|
||||
if c == '\r' && (i == len(r.buf)-1 || r.buf[i+1] != '\n') {
|
||||
r.badcrlf = true
|
||||
}
|
||||
}
|
||||
|
@ -153,3 +153,9 @@ func (r *oneReader) Read(buf []byte) (int, error) {
|
||||
r.buf = r.buf[1:]
|
||||
return 1, nil
|
||||
}
|
||||
|
||||
func FuzzReader(f *testing.F) {
|
||||
f.Fuzz(func(t *testing.T, data string) {
|
||||
io.ReadAll(NewDataReader(bufio.NewReader(strings.NewReader(data))))
|
||||
})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user