diff options
author | Yen Chi Hsuan <yan12125@gmail.com> | 2017-08-19 21:40:53 +0800 |
---|---|---|
committer | Yen Chi Hsuan <yan12125@gmail.com> | 2017-08-19 21:40:53 +0800 |
commit | 95f3f7c20a05e7ac490e768b8470b20538ef8581 (patch) | |
tree | fb04d34cdd3f55d0421b7e568201e5cba6dde4ba | |
parent | f5469da9e6e259c1690c7ef54f1da1c19f65036f (diff) |
[utils] Fix unescapeHTML for misformed string like "&a"" (#13935)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | test/test_utils.py | 1 | ||||
-rw-r--r-- | youtube_dl/utils.py | 2 |
3 files changed, 8 insertions, 1 deletions
@@ -1,3 +1,9 @@ +version <unreleased> + +Core +* [utils] Fix unescapeHTML for misformed string like "&a"" (#13935) + + version 2017.08.18 Core diff --git a/test/test_utils.py b/test/test_utils.py index 2aab16b97..e50f3764e 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -279,6 +279,7 @@ class TestUtil(unittest.TestCase): self.assertEqual(unescapeHTML('/'), '/') self.assertEqual(unescapeHTML('é'), 'é') self.assertEqual(unescapeHTML('�'), '�') + self.assertEqual(unescapeHTML('&a"'), '&a"') # HTML5 entities self.assertEqual(unescapeHTML('.''), '.\'') diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index c9cbd5842..2554a2abd 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -596,7 +596,7 @@ def unescapeHTML(s): assert type(s) == compat_str return re.sub( - r'&([^;]+;)', lambda m: _htmlentity_transform(m.group(1)), s) + r'&([^&;]+;)', lambda m: _htmlentity_transform(m.group(1)), s) def get_subprocess_encoding(): |