Mercurial > public > mercurial-scm > hg
comparison mercurial/streamclone.py @ 35803:3ad3aaeb1134 stable
streamclone: use readexactly when reading stream v2
Yuya Nishihara pointed out that it is safer.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Wed, 24 Jan 2018 21:44:31 +0100 |
parents | bbc07357b567 |
children | 2d3e486d09d0 |
comparison
equal
deleted
inserted
replaced
35802:bbc07357b567 | 35803:3ad3aaeb1134 |
---|---|
592 with repo.transaction('clone'): | 592 with repo.transaction('clone'): |
593 ctxs = (vfs.backgroundclosing(repo.ui) | 593 ctxs = (vfs.backgroundclosing(repo.ui) |
594 for vfs in vfsmap.values()) | 594 for vfs in vfsmap.values()) |
595 with nested(*ctxs): | 595 with nested(*ctxs): |
596 for i in range(filecount): | 596 for i in range(filecount): |
597 src = fp.read(1) | 597 src = util.readexactly(fp, 1) |
598 vfs = vfsmap[src] | 598 vfs = vfsmap[src] |
599 namelen = util.uvarintdecodestream(fp) | 599 namelen = util.uvarintdecodestream(fp) |
600 datalen = util.uvarintdecodestream(fp) | 600 datalen = util.uvarintdecodestream(fp) |
601 | 601 |
602 name = fp.read(namelen) | 602 name = util.readexactly(fp, namelen) |
603 | 603 |
604 if repo.ui.debugflag: | 604 if repo.ui.debugflag: |
605 repo.ui.debug('adding [%s] %s (%s)\n' % | 605 repo.ui.debug('adding [%s] %s (%s)\n' % |
606 (src, name, util.bytecount(datalen))) | 606 (src, name, util.bytecount(datalen))) |
607 | 607 |