aboutsummaryrefslogtreecommitdiff
path: root/lisp/mastodon-toot.el
diff options
context:
space:
mode:
authormartianh <martianh@noreply.codeberg.org>2022-12-26 05:30:58 +0000
committermartianh <martianh@noreply.codeberg.org>2022-12-26 05:30:58 +0000
commit01ba30fd8649e4048ddd7d6cb3f644dd5d02edff (patch)
tree19c6a71d0b5b12ade04f1dcdb62de4a96fcfb2db /lisp/mastodon-toot.el
parent54273449e5fb07fcf6e600eb872b4fcc76b60130 (diff)
parent599cd053cdf4104c1739c40024a6586646a61eb4 (diff)
Merge branch 'develop' into fix-two-spaces-in-reply
Diffstat (limited to 'lisp/mastodon-toot.el')
-rw-r--r--lisp/mastodon-toot.el20
1 files changed, 13 insertions, 7 deletions
diff --git a/lisp/mastodon-toot.el b/lisp/mastodon-toot.el
index 1917b7b..eab0dfd 100644
--- a/lisp/mastodon-toot.el
+++ b/lisp/mastodon-toot.el
@@ -610,13 +610,19 @@ To use the downloaded emoji, run `mastodon-toot--enable-custom-emoji'."
(unless (file-directory-p mastodon-custom-emoji-dir)
(make-directory mastodon-custom-emoji-dir nil)) ; no add parent
(mapc (lambda (x)
- (url-copy-file (alist-get 'url x)
- (concat
- mastodon-custom-emoji-dir
- (alist-get 'shortcode x)
- "."
- (file-name-extension (alist-get 'url x)))
- t))
+ (let ((url (alist-get 'url x))
+ (shortcode (alist-get 'shortcode x)))
+ ;; skip anything that contains unexpected characters
+ (when (and url shortcode
+ (string-match-p "^[a-zA-Z0-9-_]+$" shortcode)
+ (string-match-p "^[a-zA-Z]+$" (file-name-extension url)))
+ (url-copy-file url
+ (concat
+ mastodon-custom-emoji-dir
+ shortcode
+ "."
+ (file-name-extension url))
+ t))))
custom-emoji)
(message "Custom emoji for %s downloaded to %s"
mastodon-instance-url