SSLContext.load_dh_params() now properly closes the input file.
diff --git a/Misc/NEWS b/Misc/NEWS
index 1e4dea2..76f71b4 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -147,6 +147,8 @@
 Library
 -------
 
+- SSLContext.load_dh_params() now properly closes the input file.
+
 - Issue #16829: IDLE printing no longer fails if there are spaces or other
   special characters in the file path.
 
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index ad22c52..abb48b9 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -2177,6 +2177,7 @@
     errno = 0;
     PySSL_BEGIN_ALLOW_THREADS
     dh = PEM_read_DHparams(f, NULL, NULL, NULL);
+    fclose(f);
     PySSL_END_ALLOW_THREADS
     if (dh == NULL) {
         if (errno != 0) {