emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 0120f45: Protect against bad results from libravatar


From: Basil L. Contovounesios
Subject: Re: master 0120f45: Protect against bad results from libravatar
Date: Thu, 28 Jan 2021 14:35:50 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

larsi@gnus.org (Lars Ingebrigtsen) writes:

> branch: master
> commit 0120f45db630753bc8c4d6c43f7cdb7f953144fd
> Author: Lars Ingebrigtsen <larsi@gnus.org>
> Commit: Lars Ingebrigtsen <larsi@gnus.org>
>
>     Protect against bad results from libravatar
>     
>     * lisp/image/gravatar.el (gravatar--service-libravatar): Don't
>     have (gravatar-retrieve "foobar@zjp.codes" 'ignore) (which returns
>     a CNAME) bug out.
> ---
>  lisp/image/gravatar.el | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/lisp/image/gravatar.el b/lisp/image/gravatar.el
> index 4f37834..b1e2a31 100644
> --- a/lisp/image/gravatar.el
> +++ b/lisp/image/gravatar.el
> @@ -160,12 +160,16 @@ to track whether you're reading a specific mail."
>                  (cond
>                   ((and
>                     result               ;there is a result
> -                   (let* ((data (mapcar (lambda (record)
> +                   (let* ((answers (dns-get 'answers result))
> +                          (data (mapcar (lambda (record)
>                                            (dns-get 'data (cdr record)))
> -                                        (dns-get 'answers result)))
> -                          (priorities (mapcar (lambda (r)
> -                                                (dns-get 'priority r))
> -                                              data))
> +                                        ;; We may get junk data back (or 
> CNAME;
> +                                        ;; ignore).
> +                                        (and (eq (dns-get 'type answers) 
> 'SRV)
> +                                             answers)))
> +                          (priorities (and (mapcar (lambda (r)
                                          ^^^

Spurious 'and'?

> +                                                     (dns-get 'priority r))
> +                                                   data)))
>                            (max-priority (if priorities
>                                              (apply #'max priorities)
>                                            0))

AKA (apply #'max 0 priorities).

Thanks,

-- 
Basil



reply via email to

[Prev in Thread] Current Thread [Next in Thread]