[Python-checkins] r62468 - python/branches/tlee-ast-optimize/Python/optimize.c
thomas.lee
python-checkins at python.org
Wed Apr 23 17:58:58 CEST 2008
Author: thomas.lee
Date: Wed Apr 23 17:58:57 2008
New Revision: 62468
Log:
Ensure Yield.value is not accessed without a NULL check.
Modified:
python/branches/tlee-ast-optimize/Python/optimize.c
Modified: python/branches/tlee-ast-optimize/Python/optimize.c
==============================================================================
--- python/branches/tlee-ast-optimize/Python/optimize.c (original)
+++ python/branches/tlee-ast-optimize/Python/optimize.c Wed Apr 23 17:58:57 2008
@@ -623,14 +623,15 @@
optimize_yield(expr_ty* expr_ptr, PyArena* arena)
{
expr_ty expr = *expr_ptr;
- if (expr->v.Yield.value != NULL)
+ if (expr->v.Yield.value != NULL) {
if (!optimize_expr(&expr->v.Yield.value, arena))
return 0;
- /* "yield None" becomes "yield" */
- if (expr->v.Yield.value->kind == Name_kind) {
- PyObject* id = expr->v.Yield.value->v.Name.id;
- if (strcmp(PyString_AS_STRING(id), "None") == 0)
- expr->v.Yield.value = NULL;
+ /* "yield None" becomes "yield" */
+ if (expr->v.Yield.value->kind == Name_kind) {
+ PyObject* id = expr->v.Yield.value->v.Name.id;
+ if (strcmp(PyString_AS_STRING(id), "None") == 0)
+ expr->v.Yield.value = NULL;
+ }
}
return 1;
}
More information about the Python-checkins
mailing list