summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_int.py1
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2024-01-17-23-39-20.gh-issue-114050.Lnv1oq.rst2
-rw-r--r--Objects/longobject.c2
3 files changed, 4 insertions, 1 deletions
diff --git a/Lib/test/test_int.py b/Lib/test/test_int.py
index 5545ee3..0bf55fa 100644
--- a/Lib/test/test_int.py
+++ b/Lib/test/test_int.py
@@ -90,6 +90,7 @@ class IntTestCases(unittest.TestCase):
self.assertRaises(TypeError, int, 1, 12)
+ self.assertRaises(TypeError, int, "10", 2, 1)
self.assertEqual(int('0o123', 0), 83)
self.assertEqual(int('0x123', 16), 291)
diff --git a/Misc/NEWS.d/next/Core and Builtins/2024-01-17-23-39-20.gh-issue-114050.Lnv1oq.rst b/Misc/NEWS.d/next/Core and Builtins/2024-01-17-23-39-20.gh-issue-114050.Lnv1oq.rst
new file mode 100644
index 0000000..c35d250
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2024-01-17-23-39-20.gh-issue-114050.Lnv1oq.rst
@@ -0,0 +1,2 @@
+Fix segmentation fault caused by an incorrect format string
+in ``TypeError`` exception when more than two arguments are passed to ``int``.
diff --git a/Objects/longobject.c b/Objects/longobject.c
index fae70dd..e655ba1 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -6171,7 +6171,7 @@ long_vectorcall(PyObject *type, PyObject * const*args,
return long_new_impl(_PyType_CAST(type), args[0], args[1]);
default:
return PyErr_Format(PyExc_TypeError,
- "int expected at most 2 argument%s, got %zd",
+ "int expected at most 2 arguments, got %zd",
nargs);
}
}