summaryrefslogtreecommitdiff
path: root/Python/Python-ast.c
diff options
context:
space:
mode:
authorMark Dickinson <mdickinson@enthought.com>2012-11-25 14:36:26 +0000
committerMark Dickinson <mdickinson@enthought.com>2012-11-25 14:36:26 +0000
commit5cd62b7fe17e8004a4f137cf9164e4e71bb1bd70 (patch)
tree9c1de9548873ed64ed849a3de5997b9cec1f3aff /Python/Python-ast.c
parentfbce793218005f0778f70a840b1e2bf688f9bb0f (diff)
downloadcpython-5cd62b7fe17e8004a4f137cf9164e4e71bb1bd70.tar.gz
Issue #16546: make ast.YieldFrom argument mandatory.
Diffstat (limited to 'Python/Python-ast.c')
-rw-r--r--Python/Python-ast.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/Python/Python-ast.c b/Python/Python-ast.c
index 805f2b8af1..e6f1e58252 100644
--- a/Python/Python-ast.c
+++ b/Python/Python-ast.c
@@ -1802,6 +1802,11 @@ expr_ty
YieldFrom(expr_ty value, int lineno, int col_offset, PyArena *arena)
{
expr_ty p;
+ if (!value) {
+ PyErr_SetString(PyExc_ValueError,
+ "field value is required for YieldFrom");
+ return NULL;
+ }
p = (expr_ty)PyArena_Malloc(arena, sizeof(*p));
if (!p)
return NULL;
@@ -5431,7 +5436,8 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
Py_XDECREF(tmp);
tmp = NULL;
} else {
- value = NULL;
+ PyErr_SetString(PyExc_TypeError, "required field \"value\" missing from YieldFrom");
+ return 1;
}
*out = YieldFrom(value, lineno, col_offset, arena);
if (*out == NULL) goto failed;