From: Christopher Chavez Date: Tue, 25 Jul 2023 18:52:07 +0000 (-0500) Subject: gh-106350: Tkinter: do not ignore return value of `mp_init()` (GH-106351) X-Git-Tag: v3.13.0a1~1208 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b5ae7c498438657a6ba0bf4cc216b9c2c93a06c7;p=thirdparty%2FPython%2Fcpython.git gh-106350: Tkinter: do not ignore return value of `mp_init()` (GH-106351) --- 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 index 000000000000..681d63a6668b --- /dev/null +++ b/Misc/NEWS.d/next/Library/2023-07-03-03-46-20.gh-issue-106350.LLcTEe.rst @@ -0,0 +1,2 @@ +Detect possible memory allocation failure in the libtommath function :c:func:`mp_init` +used by the ``_tkinter`` module. diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c index 1605606e8a47..145a2940427e 100644 --- a/Modules/_tkinter.c +++ b/Modules/_tkinter.c @@ -874,8 +874,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();