Staging
v0.5.1
https://github.com/python/cpython
Revision 788d7bfe189e715eab3855c20ea5d6da0d8bed70 authored by Miss Islington (bot) on 27 May 2020, 15:46:57 UTC, committed by GitHub on 27 May 2020, 15:46:57 UTC

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.
(cherry picked from commit 29a1384c040d39659e7d01f1fd7b6eb71ef2634e)

Co-authored-by: Sean Gillespie <sean@swgillespie.me>
1 parent 43fccb1
Raw File
Tip revision: 788d7bfe189e715eab3855c20ea5d6da0d8bed70 authored by Miss Islington (bot) on 27 May 2020, 15:46:57 UTC
bpo-13097: ctypes: limit callback to 1024 arguments (GH-19914)
Tip revision: 788d7bf
.gitattributes
# Binary data types
*.aif binary
*.aifc binary
*.aiff binary
*.au binary
*.bmp binary
*.exe binary
*.icns binary
*.gif binary
*.ico binary
*.jpg binary
*.pck binary
*.png binary
*.psd binary
*.tar binary
*.wav binary
*.whl binary
*.zip binary

# Specific binary files
Lib/test/sndhdrdata/sndhdr.* binary
PC/classicAppCompat.* binary

# Text files that should not be subject to eol conversion
Lib/test/cjkencodings/* -text
Lib/test/decimaltestdata/*.decTest -text
Lib/test/test_email/data/*.txt -text
Lib/test/xmltestdata/* -text
Lib/test/coding20731.py -text
Lib/test/test_importlib/data01/* -text

# CRLF files
*.bat text eol=crlf
*.ps1 text eol=crlf
*.sln text eol=crlf
*.vcxproj* text eol=crlf
*.props text eol=crlf
*.proj text eol=crlf
PCbuild/readme.txt text eol=crlf
PC/readme.txt text eol=crlf

# Generated files
# https://github.com/github/linguist#generated-code
Include/graminit.h          linguist-generated=true
Python/graminit.h           linguist-generated=true
Modules/clinic/*.h          linguist-generated=true
Objects/clinic/*.h          linguist-generated=true
PC/clinic/*.h               linguist-generated=true
Python/clinic/*.h           linguist-generated=true
Python/importlib.h          linguist-generated=true
Python/importlib_external.h linguist-generated=true
Include/Python-ast.h        linguist-generated=true
Python/Python-ast.c         linguist-generated=true
Include/opcode.h            linguist-generated=true
Python/opcode_targets.h     linguist-generated=true
Objects/typeslots.inc       linguist-generated=true
*_db.h                      linguist-generated=true
Doc/library/token-list.inc  linguist-generated=true
Include/token.h             linguist-generated=true
Lib/token.py                linguist-generated=true
Parser/token.c              linguist-generated=true
back to top