D7892: nodemap: never read more than the expected data amount
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Fri Jan 31 18:02:12 EST 2020
marmoute updated this revision to Diff 19800.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D7892?vs=19773&id=19800
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D7892/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D7892
AFFECTED FILES
mercurial/revlogutils/nodemap.py
CHANGE DETAILS
diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py
--- a/mercurial/revlogutils/nodemap.py
+++ b/mercurial/revlogutils/nodemap.py
@@ -45,7 +45,12 @@
docket.data_unused = data_unused
filename = _rawdata_filepath(revlog, docket)
- return docket, revlog.opener.tryread(filename)
+ data = revlog.opener.tryread(filename)
+ if len(data) < data_length:
+ return None
+ elif len(data) > data_length:
+ data = data[:data_length]
+ return docket, data
def setup_persistent_nodemap(tr, revlog):
To: marmoute, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list