Skip to content

Commit d7b8b47

Browse files
committed
fix potential bugs
1 parent 2a3665c commit d7b8b47

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

Objects/funcobject.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,8 @@ PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname
162162
PyObject *consts = code_obj->co_consts;
163163
assert(PyTuple_Check(consts));
164164
PyObject *doc;
165-
if (PyTuple_Size(consts) >= 1 && code_obj->co_flags & CO_HAS_DOCSTRING) {
165+
if (code_obj->co_flags & CO_HAS_DOCSTRING) {
166+
assert(PyTuple_Size(consts) >= 1);
166167
doc = PyTuple_GetItem(consts, 0);
167168
if (!PyUnicode_Check(doc)) {
168169
doc = Py_None;

Python/codegen.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1233,9 +1233,9 @@ codegen_function_body(compiler *c, stmt_ty s, int is_async, Py_ssize_t funcflags
12331233
return ERROR;
12341234
}
12351235
Py_ssize_t idx = _PyCompile_AddConst(c, docstring);
1236+
Py_XDECREF(docstring);
12361237
RETURN_IF_ERROR_IN_SCOPE(c, idx < 0 ? ERROR : SUCCESS);
12371238
}
1238-
Py_XDECREF(docstring);
12391239

12401240
NEW_JUMP_TARGET_LABEL(c, start);
12411241
USE_LABEL(c, start);

0 commit comments

Comments
 (0)