summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-03-08 01:13:23 +0600
committerSergey M․ <dstftw@gmail.com>2015-03-08 01:13:23 +0600
commit7dcad95d4faa91adfaa4d87d411c4bc55ab000e4 (patch)
treea7f71e45bd4b6e69e7947e73a4b493801f6c1bfc
parent8a48223a7ba5a3d1e47a36c30dd925e11183ae63 (diff)
downloadyoutube-dl-7dcad95d4faa91adfaa4d87d411c4bc55ab000e4.tar.gz
youtube-dl-7dcad95d4faa91adfaa4d87d411c4bc55ab000e4.tar.xz
youtube-dl-7dcad95d4faa91adfaa4d87d411c4bc55ab000e4.zip
[YoutubeDL] Sanitize outtmpl as it may contain forbidden characters
-rwxr-xr-xyoutube_dl/YoutubeDL.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py
index df2aebb59..bae52e9c7 100755
--- a/youtube_dl/YoutubeDL.py
+++ b/youtube_dl/YoutubeDL.py
@@ -553,16 +553,20 @@ class YoutubeDL(object):
                 elif template_dict.get('width'):
                     template_dict['resolution'] = '?x%d' % template_dict['width']
 
+            restrict_filenames = self.params.get('restrictfilenames')
+
             sanitize = lambda k, v: sanitize_filename(
                 compat_str(v),
-                restricted=self.params.get('restrictfilenames'),
+                restricted=restrict_filenames,
                 is_id=(k == 'id'))
             template_dict = dict((k, sanitize(k, v))
                                  for k, v in template_dict.items()
                                  if v is not None)
             template_dict = collections.defaultdict(lambda: 'NA', template_dict)
 
-            outtmpl = self.params.get('outtmpl', DEFAULT_OUTTMPL)
+            outtmpl = sanitize_filename(
+                self.params.get('outtmpl', DEFAULT_OUTTMPL),
+                restricted=restrict_filenames)
             tmpl = compat_expanduser(outtmpl)
             filename = tmpl % template_dict
             # Temporary fix for #4787