diff -r 7c86caee3323 -r d7ef84e595f8 mercurial/store.py --- a/mercurial/store.py Sat Mar 09 02:52:49 2019 +0000 +++ b/mercurial/store.py Wed Feb 27 16:29:48 2019 +0300 @@ -464,13 +464,17 @@ self.entries = set() return self.entries = set(decodedir(fp.read()).splitlines()) + self._checkentries(fp) + fp.close() + + def _checkentries(self, fp): + """ make sure there is no empty string in entries """ if '' in self.entries: fp.seek(0) for n, line in enumerate(util.iterfile(fp)): if not line.rstrip('\n'): t = _('invalid entry in fncache, line %d') % (n + 1) raise error.Abort(t) - fp.close() def write(self, tr): if self._dirty: