@@ -1043,6 +1043,7 @@ PyObject *
1043
1043
_PyCode_GetVarnames (PyCodeObject * co )
1044
1044
{
1045
1045
if (co -> co_varnames == NULL ) {
1046
+ // PyCodeObject owns this reference.
1046
1047
co -> co_varnames = get_localsplus_names (co , CO_FAST_LOCAL ,
1047
1048
co -> co_nlocals );
1048
1049
if (co -> co_varnames == NULL ) {
@@ -1057,6 +1058,7 @@ PyObject *
1057
1058
_PyCode_GetCellvars (PyCodeObject * co )
1058
1059
{
1059
1060
if (co -> co_cellvars == NULL ) {
1061
+ // PyCodeObject owns this reference.
1060
1062
co -> co_cellvars = get_localsplus_names (co , CO_FAST_CELL ,
1061
1063
co -> co_ncellvars );
1062
1064
if (co -> co_cellvars == NULL ) {
@@ -1071,6 +1073,7 @@ PyObject *
1071
1073
_PyCode_GetFreevars (PyCodeObject * co )
1072
1074
{
1073
1075
if (co -> co_freevars == NULL ) {
1076
+ // PyCodeObject owns this reference.
1074
1077
co -> co_freevars = get_localsplus_names (co , CO_FAST_FREE ,
1075
1078
co -> co_nfreevars );
1076
1079
if (co -> co_freevars == NULL ) {
@@ -1517,6 +1520,7 @@ code_replace_impl(PyCodeObject *self, int co_argcount,
1517
1520
return NULL ;
1518
1521
}
1519
1522
1523
+ PyCodeObject * co = NULL ;
1520
1524
PyObject * varnames = NULL ;
1521
1525
PyObject * cellvars = NULL ;
1522
1526
PyObject * freevars = NULL ;
@@ -1542,21 +1546,17 @@ code_replace_impl(PyCodeObject *self, int co_argcount,
1542
1546
co_freevars = freevars ;
1543
1547
}
1544
1548
1545
- PyCodeObject * co = PyCode_NewWithPosOnlyArgs (
1549
+ co = PyCode_NewWithPosOnlyArgs (
1546
1550
co_argcount , co_posonlyargcount , co_kwonlyargcount , co_nlocals ,
1547
1551
co_stacksize , co_flags , (PyObject * )co_code , co_consts , co_names ,
1548
1552
co_varnames , co_freevars , co_cellvars , co_filename , co_name ,
1549
1553
co_firstlineno , (PyObject * )co_linetable , (PyObject * )co_exceptiontable );
1550
- if (co == NULL ) {
1551
- goto error ;
1552
- }
1553
- return (PyObject * )co ;
1554
1554
1555
1555
error :
1556
1556
Py_XDECREF (varnames );
1557
1557
Py_XDECREF (cellvars );
1558
1558
Py_XDECREF (freevars );
1559
- return NULL ;
1559
+ return ( PyObject * ) co ;
1560
1560
}
1561
1561
1562
1562
/*[clinic input]
0 commit comments