From 3703bae58b53efec3314bc07b9de157049ad8b70 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 21 Aug 2022 09:35:30 -0400 Subject: fix: don't cache a failed parse Found by OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50381 --- coverage/phystokens.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'coverage/phystokens.py') diff --git a/coverage/phystokens.py b/coverage/phystokens.py index 7184f160..c6dc1e0a 100644 --- a/coverage/phystokens.py +++ b/coverage/phystokens.py @@ -173,7 +173,11 @@ class CachedTokenizer: if text != self.last_text: self.last_text = text readline = iter(text.splitlines(True)).__next__ - self.last_tokens = list(tokenize.generate_tokens(readline)) + try: + self.last_tokens = list(tokenize.generate_tokens(readline)) + except: + self.last_text = None + raise return self.last_tokens # Create our generate_tokens cache as a callable replacement function. -- cgit v1.2.1