Mercurial > cpython-lru_cache-weakref
diff Python/ceval.c @ 23785:7a32c2356e56 legacy-trunk
SF bug 567538: Generator can crash the interpreter (Finn Bock).
This was a simple typo. Strange that the compiler didn't catch it!
Instead of WHY_CONTINUE, two tests used CONTINUE_LOOP, which isn't a
why_code at all, but an opcode; but even though 'why' is declared as
an enum, comparing it to an int is apparently not even worth a
warning -- not in gcc, and not in VC++. :-(
Will fix in 2.2 too.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 12 Jun 2002 03:45:21 +0000 |
| parents | 73249abed683 |
| children | e4272ad1a636 |
line wrap: on
line diff
--- a/Python/ceval.c Wed Jun 12 03:28:57 2002 +0000 +++ b/Python/ceval.c Wed Jun 12 03:45:21 2002 +0000 @@ -1543,7 +1543,7 @@ why = (enum why_code) PyInt_AsLong(v); if (why == WHY_RETURN || why == WHY_YIELD || - why == CONTINUE_LOOP) + why == WHY_CONTINUE) retval = POP(); } else if (PyString_Check(v) || PyClass_Check(v)) { @@ -2293,7 +2293,7 @@ } else { if (why == WHY_RETURN || - why == CONTINUE_LOOP) + why == WHY_CONTINUE) PUSH(retval); v = PyInt_FromLong((long)why); PUSH(v);
