summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2012-12-21 13:36:22 +0100
committerClaude Paroz <claude@2xlibre.net>2012-12-21 13:36:22 +0100
commit9e7183073f64e541587e8dcfd8bb3ddeb47f8162 (patch)
treefdf7a79f4eb8ffe93f18b4dd7ce3905a26dddeb8
parentbe10289d03332da7c074e93f8a1541baa29c1990 (diff)
[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.
-rw-r--r--django/contrib/messages/storage/cookie.py3
1 files changed, 3 insertions, 0 deletions
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:])