Skip to content

Commit cf19b64

Browse files
authored
gh-134411: assert PyLong_FromLong(x) != NULL when x is known to be small (#134415)
Since `PyLong_From Long(PY_MONITORING_DEBUGGER_ID)` falls to `small_int` case and can't return `NULL`. Added `assert`s for extra confidence. #134411 (comment)
1 parent 1e67293 commit cf19b64

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

Python/instrumentation.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2558,18 +2558,22 @@ PyObject *_Py_CreateMonitoringObject(void)
25582558
err = PyObject_SetAttrString(events, "NO_EVENTS", _PyLong_GetZero());
25592559
if (err) goto error;
25602560
PyObject *val = PyLong_FromLong(PY_MONITORING_DEBUGGER_ID);
2561+
assert(val != NULL); /* Can't return NULL because the int is small. */
25612562
err = PyObject_SetAttrString(mod, "DEBUGGER_ID", val);
25622563
Py_DECREF(val);
25632564
if (err) goto error;
25642565
val = PyLong_FromLong(PY_MONITORING_COVERAGE_ID);
2566+
assert(val != NULL);
25652567
err = PyObject_SetAttrString(mod, "COVERAGE_ID", val);
25662568
Py_DECREF(val);
25672569
if (err) goto error;
25682570
val = PyLong_FromLong(PY_MONITORING_PROFILER_ID);
2571+
assert(val != NULL);
25692572
err = PyObject_SetAttrString(mod, "PROFILER_ID", val);
25702573
Py_DECREF(val);
25712574
if (err) goto error;
25722575
val = PyLong_FromLong(PY_MONITORING_OPTIMIZER_ID);
2576+
assert(val != NULL);
25732577
err = PyObject_SetAttrString(mod, "OPTIMIZER_ID", val);
25742578
Py_DECREF(val);
25752579
if (err) goto error;

0 commit comments

Comments
 (0)