From: Robert Bradshaw Date: Wed, 24 Oct 2007 07:14:26 +0000 (-0700) Subject: Decref error in except clause X-Git-Tag: 0.9.6.14~29^2~115 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=bc0844d150b4166e5edb510f1c58b3b422471ac4;p=cython.git Decref error in except clause Temporary variables must be set to zero or they might be XDECREF'ed later, generating very hard to track bugs. --- diff --git a/Cython/Compiler/Nodes.py b/Cython/Compiler/Nodes.py index ba54027b..515ed394 100644 --- a/Cython/Compiler/Nodes.py +++ b/Cython/Compiler/Nodes.py @@ -2589,7 +2589,7 @@ class ExceptClauseNode(Node): self.body.generate_execution_code(code) code.exc_vars = old_exc_vars for var in self.exc_vars: - code.putln("Py_DECREF(%s);" % var) + code.putln("Py_DECREF(%s); %s = 0;" % (var, var)) code.put_goto(end_label) code.putln( "}")