diff -r 3c437e591499 Lib/xmlrpc/client.py --- a/Lib/xmlrpc/client.py Tue Mar 26 02:38:40 2013 +0200 +++ b/Lib/xmlrpc/client.py Tue Mar 26 10:17:58 2013 +0100 @@ -682,9 +682,12 @@ try: f = self.dispatch[tag] except KeyError: - pass # unknown tag ? + pass # unknown tag ? else: - return f(self, "".join(self._data)) + data = ''.join(self._data) + # Free _data as soon as we can, to avoid keeping memory too long + self._data = [] + return f(self, data) # # accelerator support