assemble all readers before access

This commit is contained in:
Seán C McCord 2023-10-01 22:10:24 -04:00
parent 567ca23bb3
commit 8a92216ce6
Signed by: scm
GPG key ID: 4AF67648FB0336A6

View file

@ -187,6 +187,8 @@ func (session *Session) Data(r io.Reader) error {
session.log.Debug("receiving DATA")
caster := readcaster.New(r)
msgReader := caster.NewReader()
rspamReader := caster.NewReader()
wg := new(sync.WaitGroup)
@ -196,7 +198,7 @@ func (session *Session) Data(r io.Reader) error {
go func() {
defer wg.Done()
n, err := msg.ReadFrom(caster.NewReader())
n, err := msg.ReadFrom(msgReader)
if err != nil {
session.log.Error("failed to read message data into message", zap.Error(err))
@ -208,7 +210,7 @@ func (session *Session) Data(r io.Reader) error {
}
}()
_, action, err := session.rspam.BodyReadFrom(caster.NewReader())
_, action, err := session.rspam.BodyReadFrom(rspamReader)
if err != nil {
session.log.Error("rspamd failed to process message body", zap.Error(err))