[YoutubeDL] Sanitize byte string format URLs (#13951)

This commit is contained in:
Sergey M․ 2017-08-17 23:59:12 +07:00
parent 5551d7714d
commit a5ac0c4755
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D

View File

@ -1483,12 +1483,14 @@ def sanitize_numeric_fields(info):
def is_wellformed(f): def is_wellformed(f):
url = f.get('url') url = f.get('url')
valid_url = url and isinstance(url, compat_str) if not url:
if not valid_url:
self.report_warning( self.report_warning(
'"url" field is missing or empty - skipping format, ' '"url" field is missing or empty - skipping format, '
'there is an error in extractor') 'there is an error in extractor')
return valid_url return False
if isinstance(url, bytes):
sanitize_string_field(f, 'url')
return True
# Filter out malformed formats for better extraction robustness # Filter out malformed formats for better extraction robustness
formats = list(filter(is_wellformed, formats)) formats = list(filter(is_wellformed, formats))