From c21055be653f7926fb6b2f1cdd1324011c12ddad Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Wed, 6 Mar 2024 20:08:25 +0100 Subject: [PATCH] gh-115398: Suggest use of `hasattr` with checking for 3.13 Expat API availability (GH-116278) Suggest use of "hasattr" with checking for 3.13 Expat API availability --- Doc/library/pyexpat.rst | 5 +++++ Doc/library/xml.etree.elementtree.rst | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/Doc/library/pyexpat.rst b/Doc/library/pyexpat.rst index c897ec9e47b7cab..c4b4e6319277af9 100644 --- a/Doc/library/pyexpat.rst +++ b/Doc/library/pyexpat.rst @@ -217,6 +217,11 @@ XMLParser Objects Calling ``SetReparseDeferralEnabled(True)`` allows re-enabling reparse deferral. + Note that :meth:`SetReparseDeferralEnabled` has been backported to some + prior releases of CPython as a security fix. Check for availability of + :meth:`SetReparseDeferralEnabled` using :func:`hasattr` if used in code + running across a variety of Python versions. + .. versionadded:: 3.13 .. method:: xmlparser.GetReparseDeferralEnabled() diff --git a/Doc/library/xml.etree.elementtree.rst b/Doc/library/xml.etree.elementtree.rst index 19c7af452e2b717..5955647588fa3e0 100644 --- a/Doc/library/xml.etree.elementtree.rst +++ b/Doc/library/xml.etree.elementtree.rst @@ -1402,6 +1402,11 @@ XMLParser Objects Disabling reparse deferral has security consequences; please see :meth:`xml.parsers.expat.xmlparser.SetReparseDeferralEnabled` for details. + Note that :meth:`flush` has been backported to some prior releases of + CPython as a security fix. Check for availability of :meth:`flush` + using :func:`hasattr` if used in code running across a variety of Python + versions. + .. versionadded:: 3.13 @@ -1475,6 +1480,11 @@ XMLPullParser Objects Disabling reparse deferral has security consequences; please see :meth:`xml.parsers.expat.xmlparser.SetReparseDeferralEnabled` for details. + Note that :meth:`flush` has been backported to some prior releases of + CPython as a security fix. Check for availability of :meth:`flush` + using :func:`hasattr` if used in code running across a variety of Python + versions. + .. versionadded:: 3.13 .. method:: close()