aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshirt <2660574+shirt-dev@users.noreply.github.com>2021-10-17 22:44:20 -0400
committerGitHub <noreply@github.com>2021-10-18 08:14:20 +0530
commit373475f03553a7fff2d20df878755bfad2fab8e5 (patch)
tree4510d083ee817f098235dda59623841495d1a2b8
parent920134b2e526ccb39a368add5547788361c78fb3 (diff)
downloadhypervideo-pre-373475f03553a7fff2d20df878755bfad2fab8e5.tar.lz
hypervideo-pre-373475f03553a7fff2d20df878755bfad2fab8e5.tar.xz
hypervideo-pre-373475f03553a7fff2d20df878755bfad2fab8e5.zip
[fragments] Pad fragments before decrypting (#1298)
Closes #197, #1297, #1007 Authored by: shirt-dev
-rw-r--r--yt_dlp/downloader/fragment.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/yt_dlp/downloader/fragment.py b/yt_dlp/downloader/fragment.py
index 6a490131b..d0eaede7e 100644
--- a/yt_dlp/downloader/fragment.py
+++ b/yt_dlp/downloader/fragment.py
@@ -355,7 +355,8 @@ class FragmentFD(FileDownloader):
# not what it decrypts to.
if self.params.get('test', False):
return frag_content
- decrypted_data = aes_cbc_decrypt_bytes(frag_content, decrypt_info['KEY'], iv)
+ padding_len = 16 - (len(frag_content) % 16)
+ decrypted_data = aes_cbc_decrypt_bytes(frag_content + bytes([padding_len] * padding_len), decrypt_info['KEY'], iv)
return decrypted_data[:-decrypted_data[-1]]
return decrypt_fragment