changeset 1280:50553b99a5c9

pull/unbundle: raise an exception on premature EOF
author mpm@selenic.com
date Tue, 20 Sep 2005 10:45:26 -0700
parents 8ab1c07d4e0b
children c1a507ba398b
files mercurial/localrepo.py
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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: