From 6e5c933606d5eea769b9442c2b7c28af2306d9f5 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Tue, 31 Mar 2026 13:07:09 +0300 Subject: [PATCH] [3.13] gh-146615: Fix format specifiers in extension modules (GH-146617) (GH-146652) (cherry picked from commit 1c396e18218daa723b425af0781c5e762d7717c2) (cherry picked from commit 58c7259133bed4c0bff6a0d3939ddccf95e543f7) Co-authored-by: Serhiy Storchaka Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com> --- Modules/_asynciomodule.c | 4 ++-- Modules/_ssl.c | 12 ++++-------- Modules/_zoneinfo.c | 2 +- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c index 7e2fe28423399f..0ed899f5a7c142 100644 --- a/Modules/_asynciomodule.c +++ b/Modules/_asynciomodule.c @@ -1943,7 +1943,7 @@ enter_task(asyncio_state *state, PyObject *loop, PyObject *task) PyExc_RuntimeError, "Cannot enter into task %R while another " \ "task %R is being executed.", - task, item, NULL); + task, item); Py_DECREF(item); return -1; } @@ -2062,7 +2062,7 @@ _asyncio_Task___init___impl(TaskObj *self, PyObject *coro, PyObject *loop, self->task_log_destroy_pending = 0; PyErr_Format(PyExc_TypeError, "a coroutine was expected, got %R", - coro, NULL); + coro); return -1; } diff --git a/Modules/_ssl.c b/Modules/_ssl.c index b25ca379da4c25..2d94fd985781ff 100644 --- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -3537,15 +3537,11 @@ _ssl__SSLContext_verify_flags_set_impl(PySSLContext *self, PyObject *value) static int set_min_max_proto_version(PySSLContext *self, PyObject *arg, int what) { - long v; + int v; int result; - if (!PyArg_Parse(arg, "l", &v)) + if (!PyArg_Parse(arg, "i", &v)) return -1; - if (v > INT_MAX) { - PyErr_SetString(PyExc_OverflowError, "Option is too long"); - return -1; - } switch(self->protocol) { case PY_SSL_VERSION_TLS_CLIENT: /* fall through */ @@ -3580,7 +3576,7 @@ set_min_max_proto_version(PySSLContext *self, PyObject *arg, int what) break; default: PyErr_Format(PyExc_ValueError, - "Unsupported TLS/SSL version 0x%x", v); + "Unsupported TLS/SSL version 0x%x", (unsigned)v); return -1; } @@ -3614,7 +3610,7 @@ set_min_max_proto_version(PySSLContext *self, PyObject *arg, int what) } if (result == 0) { PyErr_Format(PyExc_ValueError, - "Unsupported protocol version 0x%x", v); + "Unsupported protocol version 0x%x", (unsigned)v); return -1; } return 0; diff --git a/Modules/_zoneinfo.c b/Modules/_zoneinfo.c index 2a4186bb12564d..25cc4042ce92a3 100644 --- a/Modules/_zoneinfo.c +++ b/Modules/_zoneinfo.c @@ -989,7 +989,7 @@ load_data(zoneinfo_state *state, PyZoneInfo_ZoneInfo *self, PyObject *file_obj) } if (!PyTuple_CheckExact(data_tuple)) { - PyErr_Format(PyExc_TypeError, "Invalid data result type: %r", + PyErr_Format(PyExc_TypeError, "Invalid data result type: %R", data_tuple); goto error; }