From 1054a7a1b49562a9bd7fe0937fa0b7413432e7b3 Mon Sep 17 00:00:00 2001 From: Sander Steffann Date: Mon, 5 Nov 2018 00:03:22 +0100 Subject: [PATCH] Fix out-of-bounds error When checking len(value) >= 2 only value[1] is guaranteed to exist --- ws4redis/redis_store.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ws4redis/redis_store.py b/ws4redis/redis_store.py index 5cde46fa..3f3a7d01 100644 --- a/ws4redis/redis_store.py +++ b/ws4redis/redis_store.py @@ -75,14 +75,14 @@ def __new__(cls, value): return super(RedisMessage, cls).__new__(cls, value) elif isinstance(value, list): if len(value) >= 2 and value[0] == b'message': - return super(RedisMessage, cls).__new__(cls, value[2]) + return super(RedisMessage, cls).__new__(cls, value[1]) else: if isinstance(value, (six.string_types, bytearray)): if value != settings.WS4REDIS_HEARTBEAT: return six.binary_type.__new__(cls, value) elif isinstance(value, list): if len(value) >= 2 and value[0] == 'message': - return six.binary_type.__new__(cls, value[2]) + return six.binary_type.__new__(cls, value[1]) return None