commit 95f3f7c20a05e7ac490e768b8470b20538ef8581
parent f5469da9e6e259c1690c7ef54f1da1c19f65036f
Author: Yen Chi Hsuan <yan12125@gmail.com>
Date: Sat, 19 Aug 2017 21:40:53 +0800
[utils] Fix unescapeHTML for misformed string like "&a"" (#13935)
Diffstat:
3 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
@@ -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
@@ -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
@@ -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():