Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0a4dae5

Browse files
committed
fix refleak
1 parent e4dad4f commit 0a4dae5

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

Parser/asdl_c.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,7 @@ def sumTrailer(self, name, add_label=False):
376376
self.emit(format % error, 1, reflow=False)
377377
if add_label:
378378
self.emit("failed:", 1)
379+
self.emit("Py_XDECREF(tmp);", 1)
379380
self.emit("return 1;", 1)
380381
self.emit("}", 0)
381382
self.emit("", 0)

Python/Python-ast.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3516,6 +3516,7 @@ obj2ast_mod(PyObject* obj, mod_ty* out, PyArena* arena)
35163516

35173517
PyErr_Format(PyExc_TypeError, "expected some sort of mod, but got %R", obj);
35183518
failed:
3519+
Py_XDECREF(tmp);
35193520
return 1;
35203521
}
35213522

@@ -4711,6 +4712,7 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
47114712

47124713
PyErr_Format(PyExc_TypeError, "expected some sort of stmt, but got %R", obj);
47134714
failed:
4715+
Py_XDECREF(tmp);
47144716
return 1;
47154717
}
47164718

@@ -5826,6 +5828,7 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
58265828

58275829
PyErr_Format(PyExc_TypeError, "expected some sort of expr, but got %R", obj);
58285830
failed:
5831+
Py_XDECREF(tmp);
58295832
return 1;
58305833
}
58315834

@@ -6006,6 +6009,7 @@ obj2ast_slice(PyObject* obj, slice_ty* out, PyArena* arena)
60066009

60076010
PyErr_Format(PyExc_TypeError, "expected some sort of slice, but got %R", obj);
60086011
failed:
6012+
Py_XDECREF(tmp);
60096013
return 1;
60106014
}
60116015

@@ -6438,6 +6442,7 @@ obj2ast_excepthandler(PyObject* obj, excepthandler_ty* out, PyArena* arena)
64386442

64396443
PyErr_Format(PyExc_TypeError, "expected some sort of excepthandler, but got %R", obj);
64406444
failed:
6445+
Py_XDECREF(tmp);
64416446
return 1;
64426447
}
64436448

0 commit comments

Comments
 (0)