From 714506ea03c2f5989d7f551916c8bdb7bf9ad674 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Thu, 23 Jul 2015 12:38:48 -0400 Subject: Be sure to close the file we opened if something goes wrong. --- coverage/data.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'coverage/data.py') diff --git a/coverage/data.py b/coverage/data.py index 26fee484..704a3481 100644 --- a/coverage/data.py +++ b/coverage/data.py @@ -238,9 +238,13 @@ class CoverageData(object): def _open_for_reading(cls, filename): """Open a file appropriately for reading data.""" f = open(filename, "r") - go_away = f.read(len(cls.GO_AWAY)) - if go_away != cls.GO_AWAY: - raise CoverageException("Doesn't seem to be a coverage.py data file") + try: + go_away = f.read(len(cls.GO_AWAY)) + if go_away != cls.GO_AWAY: + raise CoverageException("Doesn't seem to be a coverage.py data file") + except Exception: + f.close() + raise return f @classmethod -- cgit v1.2.1