summaryrefslogtreecommitdiff
path: root/Python/Python-ast.c
diff options
context:
space:
mode:
authorMark Dickinson <mdickinson@enthought.com>2012-11-25 14:37:43 +0000
committerMark Dickinson <mdickinson@enthought.com>2012-11-25 14:37:43 +0000
commit073f0673697380a00dc2067ab3a999354893df51 (patch)
treeea7fc1d821d1aeaf0d8f7ca68ac22545ab63925f /Python/Python-ast.c
parentab56710989745ff11c10205ea993c2e423c22f75 (diff)
parentded35aeb9d5ae1671174f10c0ae8a7166693b17c (diff)
downloadcpython-git-073f0673697380a00dc2067ab3a999354893df51.tar.gz
Issue #16546: merge fix from 3.3
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;