immutable: fix detection of truncated shares to take into account the fieldsize -- either 4 or 8

This commit is contained in:
Zooko O'Whielacronx 2009-01-02 18:57:45 -07:00
parent 21e0ff97f2
commit 54787771c3

View File

@ -371,8 +371,8 @@ class ReadBucketProxy:
offset = self._offsets['uri_extension']
d = self._read(offset, self._fieldsize)
def _got_length(data):
if len(data) != 4:
raise LayoutInvalid("not enough bytes to encode URI length -- %d" % (len(data),))
if len(data) != self._fieldsize:
raise LayoutInvalid("not enough bytes to encode URI length -- should be %d bytes long, not %d " % (self._fieldsize, len(data),))
length = struct.unpack(self._fieldstruct, data)[0]
if length >= 2**31:
# URI extension blocks are around 419 bytes long, so this must be corrupted.