From 9e7183073f64e541587e8dcfd8bb3ddeb47f8162 Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Fri, 21 Dec 2012 13:36:22 +0100 Subject: [PATCH] [1.5.x] Added compatibility with legacy message length Added compatibility code to not break when decoding messages encoded on pre-1.5 versions. Refs #19387. Thanks Florian Apolloner for noticing the issue. --- django/contrib/messages/storage/cookie.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/django/contrib/messages/storage/cookie.py b/django/contrib/messages/storage/cookie.py index 619c69249e..258d491bdb 100644 --- a/django/contrib/messages/storage/cookie.py +++ b/django/contrib/messages/storage/cookie.py @@ -33,6 +33,9 @@ class MessageDecoder(json.JSONDecoder): def process_messages(self, obj): if isinstance(obj, list) and obj: if obj[0] == MessageEncoder.message_key: + if len(obj) == 3: + # Compatibility with previously-encoded messages + return Message(*obj[1:]) if obj[1]: obj[3] = mark_safe(obj[3]) return Message(*obj[2:])