Merge with 3.2: issue #14433
diff --git a/Misc/NEWS b/Misc/NEWS
index 1f97d7b..22248ac 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@
 Core and Builtins
 -----------------
 
+- Issue #14433: Prevent msvcrt crash in interactive prompt when stdin
+  is closed.
+  
 - Issue #14521: Make result of float('nan') and float('-nan') more
   consistent across platforms.
 
diff --git a/Parser/myreadline.c b/Parser/myreadline.c
index 33d5b3d..cb1cf0f 100644
--- a/Parser/myreadline.c
+++ b/Parser/myreadline.c
@@ -42,7 +42,10 @@
             (void)(PyOS_InputHook)();
         errno = 0;
         clearerr(fp);
-        p = fgets(buf, len, fp);
+        if (_PyVerify_fd(fileno(fp)))
+            p = fgets(buf, len, fp);
+        else
+            p = NULL;
         if (p != NULL)
             return 0; /* No error */
         err = errno;