mirror of
https://github.com/python/cpython.git
synced 2025-07-08 03:45:36 +00:00
gh-132909: handle overflow for 'K'
format in do_mkvalue
(#132911)
This commit is contained in:
parent
de6482eda3
commit
3fa024dec3
3 changed files with 6 additions and 1 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue