aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pandora/transport.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/pandora/transport.py b/pandora/transport.py
index 42aba2a..0174eac 100644
--- a/pandora/transport.py
+++ b/pandora/transport.py
@@ -260,9 +260,15 @@ class BlowfishCryptor(object):
260 260
261 @staticmethod 261 @staticmethod
262 def _strip_padding(data): 262 def _strip_padding(data):
263 pad_size = int(data[-1]) 263 try:
264 if not data[-pad_size:] == bytes((pad_size,)) * pad_size: 264 pad_size = int(data[-1]) # python3
265 except ValueError: # pragma: no cover
266 pad_size = ord(data[-1]) # python2
267
268 computed = b"".join([chr(pad_size).encode("ascii")] * pad_size)
269 if not data[-pad_size:] == computed:
265 raise ValueError('Invalid padding') 270 raise ValueError('Invalid padding')
271
266 return data[:-pad_size] 272 return data[:-pad_size]
267 273
268 274