From: Stan Ulbrych Date: Thu, 28 May 2026 08:13:14 +0000 (+0100) Subject: Add prominent crash warning to `ctypes` docs (GH-150410) X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=b53f6ca850b500621474e82931c3e7216d9a1cb1;p=thirdparty%2FPython%2Fcpython.git Add prominent crash warning to `ctypes` docs (GH-150410) Co-authored-by: Petr Viktorin --- diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index 4330be922013..c5d24660fd8f 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -14,6 +14,14 @@ used to wrap these libraries in pure Python. .. include:: ../includes/optional-module.rst +.. warning:: + + :mod:`!ctypes` provides low-level access to native libraries and the + process's memory, bypassing Python's safety mechanisms and allowing + execution of arbitrary native code. + Incorrect use can corrupt data and objects, reveal sensitive information, + cause crashes, or otherwise compromise the running process. + .. _ctypes-ctypes-tutorial: @@ -198,10 +206,8 @@ argument values:: OSError: exception: access violation reading 0x00000020 >>> -There are, however, enough ways to crash Python with :mod:`!ctypes`, so you -should be careful anyway. The :mod:`faulthandler` module can be helpful in -debugging crashes (e.g. from segmentation faults produced by erroneous C library -calls). +The :mod:`faulthandler` module can help debug crashes, +such as segmentation faults produced by erroneous C library calls. ``None``, integers, bytes objects and (unicode) strings are the only native Python objects that can directly be used as parameters in these function calls.