]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-13097: ctypes: limit callback to 1024 arguments (GH-19914)
authorSean Gillespie <sean@swgillespie.me>
Wed, 27 May 2020 15:22:07 +0000 (08:22 -0700)
committerGitHub <noreply@github.com>
Wed, 27 May 2020 15:22:07 +0000 (17:22 +0200)
commit29a1384c040d39659e7d01f1fd7b6eb71ef2634e
tree2862b50fdccfc415d6f03f6d60d26176749c6699
parentfe2978b3b940fe2478335e3a2ca5ad22338cdf9c
bpo-13097: ctypes: limit callback to 1024 arguments (GH-19914)

ctypes now raises an ArgumentError when a callback
is invoked with more than 1024 arguments.

The ctypes module allocates arguments on the stack in
ctypes_callproc() using alloca(), which is problematic
when large numbers of arguments are passed. Instead
of a stack overflow, this commit raises an ArgumentError
if more than 1024 parameters are passed.
Lib/ctypes/test/test_callbacks.py
Misc/NEWS.d/next/Library/2020-05-06-02-01-25.bpo-13097.Wh5xSK.rst [new file with mode: 0644]
Modules/_ctypes/callproc.c