~migadu/alps-devel

plugins/base: fix nil pointer deref on invalid From or To address v1 APPLIED

Silvan Jegen: 1
 plugins/base: fix nil pointer deref on invalid From or To address

 1 files changed, 9 insertions(+), 1 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~migadu/alps-devel/patches/42321/mbox | git am -3
Learn more about email & git

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

---
 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
Thanks! Pushed with a minor edit, see below.