From f79126f373a9d5c9b584a8db736fe490fcbfa77a Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Fri, 23 Aug 2013 15:15:48 -0400 Subject: [PATCH] Issue #18394: Explicitly close the file object cgi.FieldStorage caches. Eliminates the ResoureWarning raised during testing. Patch also independently written by Vajrasky Kok. --- Lib/cgi.py | 6 ++++++ Misc/NEWS | 2 ++ 2 files changed, 8 insertions(+) diff --git a/Lib/cgi.py b/Lib/cgi.py index 4de82ea6df9..b6fd4074546 100755 --- a/Lib/cgi.py +++ b/Lib/cgi.py @@ -552,6 +552,12 @@ def __init__(self, fp=None, headers=None, outerboundary=b'', else: self.read_single() + def __del__(self): + try: + self.file.close() + except AttributeError: + pass + def __repr__(self): """Return a printable representation.""" return "FieldStorage(%r, %r, %r)" % ( diff --git a/Misc/NEWS b/Misc/NEWS index 431674abbd5..125d604697c 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -38,6 +38,8 @@ Core and Builtins Library ------- +- Issue #18394: Close cgi.FieldStorage's optional file. + - Issue #17702: On error, os.environb now removes suppress the except context when raising a new KeyError with the original key.