Issue #19421: fix a check in warnings.warn() to be able to use it during Python
finalization.

sys.argv is set to None during Python finalization: add PyList_Check() to avoid
a crash in PyList_Size().
diff --git a/Python/_warnings.c b/Python/_warnings.c
index b8d4bb6..23b3f5c 100644
--- a/Python/_warnings.c
+++ b/Python/_warnings.c
@@ -534,7 +534,9 @@
                 goto handle_error;
         if (strcmp(module_str, "__main__") == 0) {
             PyObject *argv = PySys_GetObject("argv");
-            if (argv != NULL && PyList_Size(argv) > 0) {
+            /* PyList_Check() is needed because sys.argv is set to None during
+               Python finalization */
+            if (argv != NULL && PyList_Check(argv) && PyList_Size(argv) > 0) {
                 int is_true;
                 *filename = PyList_GetItem(argv, 0);
                 Py_INCREF(*filename);