]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-106350: Tkinter: do not ignore return value of `mp_init()` (GH-106351)...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 26 Jul 2023 07:58:33 +0000 (00:58 -0700)
committerGitHub <noreply@github.com>
Wed, 26 Jul 2023 07:58:33 +0000 (10:58 +0300)
(cherry picked from commit b5ae7c498438657a6ba0bf4cc216b9c2c93a06c7)

Co-authored-by: Christopher Chavez <chrischavez@gmx.us>
Misc/NEWS.d/next/Library/2023-07-03-03-46-20.gh-issue-106350.LLcTEe.rst [new file with mode: 0644]
Modules/_tkinter.c

diff --git a/Misc/NEWS.d/next/Library/2023-07-03-03-46-20.gh-issue-106350.LLcTEe.rst b/Misc/NEWS.d/next/Library/2023-07-03-03-46-20.gh-issue-106350.LLcTEe.rst
new file mode 100644 (file)
index 0000000..681d63a
--- /dev/null
@@ -0,0 +1,2 @@
+Detect possible memory allocation failure in the libtommath function :c:func:`mp_init`\r
+used by the ``_tkinter`` module.
index 15f9c0465fb043bc94475230ceec49216a3c9d6b..5abde84ebc2efdad551c03da1d27600c36b0e02a 100644 (file)
@@ -876,8 +876,9 @@ asBignumObj(PyObject *value)
         return NULL;
     }
     hexchars += neg + 2; /* skip sign and "0x" */
-    mp_init(&bigValue);
-    if (mp_read_radix(&bigValue, hexchars, 16) != MP_OKAY) {
+    if (mp_init(&bigValue) != MP_OKAY ||
+        mp_read_radix(&bigValue, hexchars, 16) != MP_OKAY)
+    {
         mp_clear(&bigValue);
         Py_DECREF(hexstr);
         PyErr_NoMemory();