# HG changeset patch # User mpm@selenic.com # Date 1127238326 25200 # Node ID 50553b99a5c9de1a0e69d92713ebc7611e519563 # Parent 8ab1c07d4e0bbc29c1c028e953fc691fa4654eb8 pull/unbundle: raise an exception on premature EOF diff -r 8ab1c07d4e0b -r 50553b99a5c9 mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Sep 19 18:24:37 2005 -0700 +++ b/mercurial/localrepo.py Tue Sep 20 10:45:26 2005 -0700 @@ -956,7 +956,12 @@ if not d: return "" l = struct.unpack(">l", d)[0] if l <= 4: return "" - return source.read(l - 4) + d = source.read(l - 4) + if len(d) < l - 4: + raise repo.RepoError("premature EOF reading chunk" + + " (got %d bytes, expected %d)" + % (len(d), l - 4)) + return d def getgroup(): while 1: