mirror of https://github.com/python/cpython.git
gh-132909: handle overflow for `'K'` format in `do_mkvalue` (#132911)
This commit is contained in:
parent
de6482eda3
commit
3fa024dec3
|
@ -669,6 +669,8 @@ Building values
|
||||||
``L`` (:class:`int`) [long long]
|
``L`` (:class:`int`) [long long]
|
||||||
Convert a C :c:expr:`long long` to a Python integer object.
|
Convert a C :c:expr:`long long` to a Python integer object.
|
||||||
|
|
||||||
|
.. _capi-py-buildvalue-format-K:
|
||||||
|
|
||||||
``K`` (:class:`int`) [unsigned long long]
|
``K`` (:class:`int`) [unsigned long long]
|
||||||
Convert a C :c:expr:`unsigned long long` to a Python integer object.
|
Convert a C :c:expr:`unsigned long long` to a Python integer object.
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Fix an overflow when handling the :ref:`K <capi-py-buildvalue-format-K>` format
|
||||||
|
in :c:func:`Py_BuildValue`. Patch by Bénédikt Tran.
|
|
@ -321,7 +321,8 @@ do_mkvalue(const char **p_format, va_list *p_va)
|
||||||
return PyLong_FromLongLong((long long)va_arg(*p_va, long long));
|
return PyLong_FromLongLong((long long)va_arg(*p_va, long long));
|
||||||
|
|
||||||
case 'K':
|
case 'K':
|
||||||
return PyLong_FromUnsignedLongLong((long long)va_arg(*p_va, unsigned long long));
|
return PyLong_FromUnsignedLongLong(
|
||||||
|
va_arg(*p_va, unsigned long long));
|
||||||
|
|
||||||
case 'u':
|
case 'u':
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue