about summary refs log tree commit diff
path: root/youtube_dl/YoutubeDL.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2021-01-14 00:37:51 +0700
committerSergey M․ <dstftw@gmail.com>2021-01-14 00:38:31 +0700
commitd81a213cfb66f6e3175980d763318bd81e31be02 (patch)
tree742470bab66edb711c98e53874c90243baf65049 /youtube_dl/YoutubeDL.py
parent7c2d18a13f7eaa4008923ad73ed8e938229db848 (diff)
downloadyoutube-dl-d81a213cfb66f6e3175980d763318bd81e31be02.tar.gz
youtube-dl-d81a213cfb66f6e3175980d763318bd81e31be02.tar.xz
youtube-dl-d81a213cfb66f6e3175980d763318bd81e31be02.zip
[YoutubeDL] Raise syntax error for format selection expressions with multiple + operators (closes #27803)
Diffstat (limited to 'youtube_dl/YoutubeDL.py')
-rwxr-xr-xyoutube_dl/YoutubeDL.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py
index aaac149e9..3f1f03379 100755
--- a/youtube_dl/YoutubeDL.py
+++ b/youtube_dl/YoutubeDL.py
@@ -1226,6 +1226,8 @@ class YoutubeDL(object):
                         group = _parse_format_selection(tokens, inside_group=True)
                         current_selector = FormatSelector(GROUP, group, [])
                     elif string == '+':
+                        if inside_merge:
+                            raise syntax_error('Unexpected "+"', start)
                         video_selector = current_selector
                         audio_selector = _parse_format_selection(tokens, inside_merge=True)
                         if not video_selector or not audio_selector: