summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2023-07-31 12:27:59 (GMT)
committerGitHub <noreply@github.com>2023-07-31 12:27:59 (GMT)
commit8f080a290bd45f4664d3a457256310cc02883d7d (patch)
treeeb3b9d5033dad61236035cd25095d5e86fc0c8be
parent54aaaadef8a44324f6be674707c67a3516470ff6 (diff)
downloadcpython-8f080a290bd45f4664d3a457256310cc02883d7d.zip
cpython-8f080a290bd45f4664d3a457256310cc02883d7d.tar.gz
cpython-8f080a290bd45f4664d3a457256310cc02883d7d.tar.bz2
[3.12] gh-102509: Start initializing `ob_digit` of `_PyLongValue` (GH-102510) (#107464)
gh-102509: Start initializing `ob_digit` of `_PyLongValue` (GH-102510) (cherry picked from commit fc130c47daa715d60d8925c478a96d5083e47b6a) Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
-rw-r--r--Misc/NEWS.d/next/Security/2023-03-07-21-46-29.gh-issue-102509.5ouaH_.rst2
-rw-r--r--Objects/longobject.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/Security/2023-03-07-21-46-29.gh-issue-102509.5ouaH_.rst b/Misc/NEWS.d/next/Security/2023-03-07-21-46-29.gh-issue-102509.5ouaH_.rst
new file mode 100644
index 0000000..d1a8e8b
--- /dev/null
+++ b/Misc/NEWS.d/next/Security/2023-03-07-21-46-29.gh-issue-102509.5ouaH_.rst
@@ -0,0 +1,2 @@
+Start initializing ``ob_digit`` during creation of :c:type:`PyLongObject`
+objects. Patch by Illia Volochii.
diff --git a/Objects/longobject.c b/Objects/longobject.c
index 5fca55e..5d9b413 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -163,6 +163,9 @@ _PyLong_New(Py_ssize_t size)
}
_PyLong_SetSignAndDigitCount(result, size != 0, size);
_PyObject_Init((PyObject*)result, &PyLong_Type);
+ /* The digit has to be initialized explicitly to avoid
+ * use-of-uninitialized-value. */
+ result->long_value.ob_digit[0] = 0;
return result;
}