]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.15] Add prominent crash warning to `ctypes` docs (GH-150410) (GH-150547)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 28 May 2026 10:23:56 +0000 (12:23 +0200)
committerGitHub <noreply@github.com>
Thu, 28 May 2026 10:23:56 +0000 (12:23 +0200)
(cherry picked from commit b53f6ca850b500621474e82931c3e7216d9a1cb1)

Co-authored-by: Stan Ulbrych <stan@python.org>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Doc/library/ctypes.rst

index 438afa04c6630d8192f04ad4d9462240c43a8ada..618ae89921c3480e3f93b065b7a2de8193e81adb 100644 (file)
@@ -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.