~migadu/alps-devel

This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch
1

[PATCH] plugins/base: fix nil pointer deref on invalid From or To address

Silvan Jegen <s.jegen@gmail.com>
Details
Message ID
<20230701192631.16427-1-s.jegen@gmail.com>
DKIM signature
missing
Download raw message
Patch: +9 -1
---
 plugins/base/smtp.go | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/plugins/base/smtp.go b/plugins/base/smtp.go
index 1809059..c4bd337 100644
--- a/plugins/base/smtp.go
+++ b/plugins/base/smtp.go
@@ -190,13 +190,21 @@ func (msg *OutgoingMessage) WriteTo(w io.Writer) error {
}

func sendMessage(c *smtp.Client, msg *OutgoingMessage) error {
	addr, _ := mail.ParseAddress(msg.From)
	addr, err := mail.ParseAddress(msg.From)
	if err != nil {
		return fmt.Errorf("parsing 'From' address failed: %v", err)
	}

	if err := c.Mail(addr.Address, nil); err != nil {
		return fmt.Errorf("MAIL FROM failed: %v", err)
	}

	for _, to := range msg.To {
		addr, _ := mail.ParseAddress(to)
		if err != nil {
			return fmt.Errorf("parsing 'To' address failed: %v", err)
		}

		if err := c.Rcpt(addr.Address); err != nil {
			return fmt.Errorf("RCPT TO failed: %v (%s)", err, addr.Address)
		}
-- 
2.41.0
Details
Message ID
<gwO-gy9xKGIWbaeDId6QsG1mGwRem6FEBKaSuu7Yde_FVTI-qBQRl6R4afkF1NB-PEyt73Y0NBJ9asGrXnXeo8PeChivOo1tzzdb0rkMB-Q=@emersion.fr>
In-Reply-To
<20230701192631.16427-1-s.jegen@gmail.com> (view parent)
DKIM signature
missing
Download raw message
Thanks! Pushed with a minor edit, see below.

>  	for _, to := range msg.To {
>  		addr, _ := mail.ParseAddress(to)

Here the error returned by mail.ParseAddress was ignored.

> +		if err != nil {
> +			return fmt.Errorf("parsing 'To' address failed: %v", err)
> +		}
Reply to thread Export thread (mbox)