From 9cc7a6e0b3cec6c3e6dca362ed51699fd295a67c Mon Sep 17 00:00:00 2001 From: "Marshall T. Vandegrift" Date: Mon, 17 Nov 2008 23:02:28 -0500 Subject: [PATCH] Fix #1279: correctly decrement remaining bytes while reading LIT directory chunks. --- src/calibre/ebooks/lit/reader.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/lit/reader.py b/src/calibre/ebooks/lit/reader.py index 4197ea7686..861c37a51e 100644 --- a/src/calibre/ebooks/lit/reader.py +++ b/src/calibre/ebooks/lit/reader.py @@ -557,7 +557,9 @@ class LitReader(object): if namelen > remaining - 3: raise LitError('Read past end of directory chunk') try: - name, chunk = chunk[:namelen].decode('utf-8'), chunk[namelen:] + name = chunk[:namelen].decode('utf-8') + chunk = chunk[namelen:] + remaining -= namelen except UnicodeDecodeError: break section, chunk, remaining = encint(chunk, remaining)