From a8932e9f004a83cae58ed0b086271e2191a04b83 Mon Sep 17 00:00:00 2001 From: Mike Crute Date: Sat, 7 Oct 2017 22:37:56 +0000 Subject: Make strip_padding python 2 compatible --- pandora/transport.py | 10 ++++++++-- 1 file 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): @staticmethod def _strip_padding(data): - pad_size = int(data[-1]) - if not data[-pad_size:] == bytes((pad_size,)) * pad_size: + try: + pad_size = int(data[-1]) # python3 + except ValueError: # pragma: no cover + pad_size = ord(data[-1]) # python2 + + computed = b"".join([chr(pad_size).encode("ascii")] * pad_size) + if not data[-pad_size:] == computed: raise ValueError('Invalid padding') + return data[:-pad_size] -- cgit v1.2.3