From: Eli Zaretskii Date: Mon, 19 Dec 2022 17:01:04 +0000 (+0200) Subject: Gnus nnml should avoid crashing on some invalid headers X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~40^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=cf3c2037c3531b756fbb443b8ab2f6873f10930e;p=emacs.git Gnus nnml should avoid crashing on some invalid headers This upstream patch has been incorporated to fix the problem: Fix storing email into nnmail by Gnus * lisp/gnus/nnml.el (nnml--encode-headers): Wrap 'rfc2047-encode-string' calls with 'ignore-errors', to avoid disrupting email workflows due to possibly-invalid headers. Reported by Florian Weimer . Origin: upstream, commit: 23f7c9c2a92e4619b7c4d2286d4249f812cd695d Bug-Debian: https://bugs.debian.org/1033397 Forwarded: not-needed --- diff --git a/lisp/gnus/nnml.el b/lisp/gnus/nnml.el index afdb0c780a5..258c5efc79f 100644 --- a/lisp/gnus/nnml.el +++ b/lisp/gnus/nnml.el @@ -775,17 +775,22 @@ article number. This function is called narrowed to an article." (nnml--encode-headers headers) headers)))) +;; RFC2047-encode Subject and From, but leave invalid headers unencoded. (defun nnml--encode-headers (headers) (let ((subject (mail-header-subject headers)) (rfc2047-encoding-type 'mime)) (unless (string-match "\\`[[:ascii:]]*\\'" subject) - (setf (mail-header-subject headers) - (mail-encode-encoded-word-string subject t)))) + (let ((encoded-subject + (ignore-errors (mail-encode-encoded-word-string subject t)))) + (if encoded-subject + (setf (mail-header-subject headers) encoded-subject))))) (let ((from (mail-header-from headers)) (rfc2047-encoding-type 'address-mime)) (unless (string-match "\\`[[:ascii:]]*\\'" from) - (setf (mail-header-from headers) - (rfc2047-encode-string from t))))) + (let ((encoded-from + (ignore-errors (rfc2047-encode-string from t)))) + (if encoded-from + (setf (mail-header-from headers) encoded-from)))))) (defun nnml-get-nov-buffer (group &optional incrementalp) (let ((buffer (gnus-get-buffer-create