From 54787771c308ee59d8197666f4a61aafb59b9050 Mon Sep 17 00:00:00 2001
From: Zooko O'Whielacronx <zooko@zooko.com>
Date: Fri, 2 Jan 2009 18:57:45 -0700
Subject: [PATCH] immutable: fix detection of truncated shares to take into
 account the fieldsize -- either 4 or 8

---
 src/allmydata/immutable/layout.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/allmydata/immutable/layout.py b/src/allmydata/immutable/layout.py
index 16b91c59..1f5de5ab 100644
--- a/src/allmydata/immutable/layout.py
+++ b/src/allmydata/immutable/layout.py
@@ -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.
-- 
2.45.2