diff mercurial/sshserver.py @ 13721:3458c15ab2f0

wireproto: fix handling of '*' args for HTTP and SSH
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
date Tue, 22 Mar 2011 07:38:32 +0100
parents cc9bf81382f5
children 659f34b833b9
line wrap: on
line diff
--- a/mercurial/sshserver.py	Tue Mar 22 07:38:32 2011 +0100
+++ b/mercurial/sshserver.py	Tue Mar 22 07:38:32 2011 +0100
@@ -30,17 +30,18 @@
         for n in xrange(len(keys)):
             argline = self.fin.readline()[:-1]
             arg, l = argline.split()
-            val = self.fin.read(int(l))
             if arg not in keys:
                 raise util.Abort("unexpected parameter %r" % arg)
             if arg == '*':
                 star = {}
-                for n in xrange(int(l)):
+                for k in xrange(int(l)):
+                    argline = self.fin.readline()[:-1]
                     arg, l = argline.split()
                     val = self.fin.read(int(l))
                     star[arg] = val
                 data['*'] = star
             else:
+                val = self.fin.read(int(l))
                 data[arg] = val
         return [data[k] for k in keys]