New GitHub issue #119022 from OveSo:<br>
<hr>
<pre>
# Bug report
### Bug description:
There are several cases, where ob_digit[0] of PyLongObject will not be initialized before evaluation.
I fixed that issue in Python 3.11.8 with this patch - it also concerns Python 3.11.9:
```python
--- longobject.c_orig 2024-02-06 22:21:21.000000000 +0100
+++ longobject.c 2024-05-13 17:47:25.846011498 +0200
@@ -165,6 +165,7 @@
return NULL;
}
_PyObject_InitVar((PyVarObject*)result, &PyLong_Type, size);
+ result->ob_digit[0] = 0;
return result;
}
```
For example, one case is in longobject.c:922 in _PyLong_FromByteArray() if numsignificantbytes==0.
First, I fixed it locally in _PyLong_FromByteArray() but than I found similar cases in other functions.
Therefore, I decided to initialize ob_digit[0] right in _PyLong_New() in order to catch all situations.
Kind regards,
Ove
### CPython versions tested on:
3.11
### Operating systems tested on:
Linux
</pre>
<hr>
<a href="https://github.com/python/cpython/issues/119022">View on GitHub</a>
<p>Labels: type-bug</p>
<p>Assignee: </p>