summaryrefslogtreecommitdiff
path: root/Mailman/ListAdmin.py
diff options
context:
space:
mode:
authorbwarsaw2000-07-05 20:37:35 +0000
committerbwarsaw2000-07-05 20:37:35 +0000
commitc611bd6392f06be0cc326c272e784fbd417ea3f7 (patch)
treee3c6dad6d613416c36edd3f09c740782d79d078d /Mailman/ListAdmin.py
parent9bc6bff2bb99bf8b3ef2ed6f97b53662a14d55b1 (diff)
downloadmailman-c611bd6392f06be0cc326c272e784fbd417ea3f7.tar.gz
mailman-c611bd6392f06be0cc326c272e784fbd417ea3f7.tar.zst
mailman-c611bd6392f06be0cc326c272e784fbd417ea3f7.zip
HoldMessage(): Make a copy of the msgdata dictionary so that
subsequent changes won't be reflected in the request database. This fixes Ricardo Kustner's perplexing problem.
Diffstat (limited to 'Mailman/ListAdmin.py')
-rw-r--r--Mailman/ListAdmin.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/Mailman/ListAdmin.py b/Mailman/ListAdmin.py
index 13a7a7f36..47da93c84 100644
--- a/Mailman/ListAdmin.py
+++ b/Mailman/ListAdmin.py
@@ -135,6 +135,11 @@ class ListAdmin:
del self.__db[id]
def HoldMessage(self, msg, reason, msgdata={}):
+ # Make a copy of msgdata so that subsequent changes won't corrupt the
+ # request database.
+ newmsgdata = {}
+ newmsgdata.update(msgdata)
+ msgdata = newmsgdata
# assure that the database is open for writing
self.__opendb()
# get the next unique id