emacs-devel
[Top][All Lists]
Advanced

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

Re: [nongnu] elpa/base32 66741b0aeb 1/5: base32-decode: Handle payloads


From: Stefan Monnier
Subject: Re: [nongnu] elpa/base32 66741b0aeb 1/5: base32-decode: Handle payloads shorter than allowed padding lengths
Date: Tue, 27 Feb 2024 13:29:52 -0500
User-agent: Gnus/5.13 (Gnus v5.13)

>            ((eq 0 input-shortfall) ;; already padded
>             (setq output-shorten
> -                 (cond ((equal (substring input -6) "======") -4)
> -                       ((equal (substring input -4)   "====") -3)
> -                       ((equal (substring input -3)    "===") -2)
> -                       ((equal (substring input -1)      "=") -1)
> +                 (cond ((equal (ignore-errors (substring input -6)) 
> "======") -4)
> +                       ((equal (ignore-errors (substring input -4))   
> "====") -3)
> +                       ((equal (ignore-errors (substring input -3))    
> "===") -2)
> +                       ((equal (ignore-errors (substring input -1))      
> "=") -1)
>                         (t 0))))
>            (t (error "Invalid base32 payload length: %d" input-byte-count)))

You might want to use `string-suffix-p`. 🙂


        Stefan




reply via email to

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