Finally plug the memory leak caused by syntax error (including
interactive EOF, which leaked *one* byte).
diff --git a/Parser/parsetok.c b/Parser/parsetok.c
index 251e507..93df0d6 100644
--- a/Parser/parsetok.c
+++ b/Parser/parsetok.c
@@ -154,8 +154,11 @@
 		str[len] = '\0';
 		if ((err_ret->error =
 		     PyParser_AddToken(ps, (int)type, str,
-				       tok->lineno)) != E_OK)
+				       tok->lineno)) != E_OK) {
+			if (err_ret->error != E_DONE)
+				PyMem_DEL(str);
 			break;
+		}
 	}
 
 	if (err_ret->error == E_DONE) {