Skip to content

Commit 3fa024d

Browse files
authored
gh-132909: handle overflow for 'K' format in do_mkvalue (#132911)
1 parent de6482e commit 3fa024d

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

Doc/c-api/arg.rst

+2
Original file line numberDiff line numberDiff line change
@@ -669,6 +669,8 @@ Building values
669669
``L`` (:class:`int`) [long long]
670670
Convert a C :c:expr:`long long` to a Python integer object.
671671
672+
.. _capi-py-buildvalue-format-K:
673+
672674
``K`` (:class:`int`) [unsigned long long]
673675
Convert a C :c:expr:`unsigned long long` to a Python integer object.
674676
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Fix an overflow when handling the :ref:`K <capi-py-buildvalue-format-K>` format
2+
in :c:func:`Py_BuildValue`. Patch by Bénédikt Tran.

Python/modsupport.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,8 @@ do_mkvalue(const char **p_format, va_list *p_va)
321321
return PyLong_FromLongLong((long long)va_arg(*p_va, long long));
322322

323323
case 'K':
324-
return PyLong_FromUnsignedLongLong((long long)va_arg(*p_va, unsigned long long));
324+
return PyLong_FromUnsignedLongLong(
325+
va_arg(*p_va, unsigned long long));
325326

326327
case 'u':
327328
{

0 commit comments

Comments
 (0)