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.