From 19f72110fc448e58dcd2d867d1db1fc547b790f2 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Sun, 20 Oct 2019 09:40:11 +0200 Subject: [PATCH] Protect against invalid punycode * lisp/net/puny.el (puny-decode-string): Protect against invalid punycode. --- lisp/net/puny.el | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lisp/net/puny.el b/lisp/net/puny.el index 23c7af80619..729076ddbd7 100644 --- a/lisp/net/puny.el +++ b/lisp/net/puny.el @@ -63,7 +63,10 @@ For instance, \"xn--ff-2sa.org\" => \"fśf.org\"." "Decode an IDNA/punycode-encoded string. For instance \"xn--bcher-kva\" => \"bücher\"." (if (string-match "\\`xn--" string) - (puny-decode-string-internal (substring string 4)) + (condition-case nil + (puny-decode-string-internal (substring string 4)) + ;; If the string is invalid Punycode, just return the string. + (args-out-of-range string)) string)) (defconst puny-initial-n 128) -- 2.39.2