From ab6a56733461d808df614c211dc7948bbe440aa8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 4 Oct 2008 13:31:11 -0700 Subject: [PATCH] Fix #1126 (.lit Convert Failure) --- src/calibre/ebooks/lit/reader.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/lit/reader.py b/src/calibre/ebooks/lit/reader.py index 87d0a29088..febaf280c6 100644 --- a/src/calibre/ebooks/lit/reader.py +++ b/src/calibre/ebooks/lit/reader.py @@ -543,7 +543,10 @@ class LitReader(object): raise LitError('Directory entry had 64bit name length.') if namelen > remaining - 3: raise LitError('Read past end of directory chunk') - name, chunk = chunk[:namelen].decode('utf-8'), chunk[namelen:] + try: + name, chunk = chunk[:namelen].decode('utf-8'), chunk[namelen:] + except UnicodeDecodeError: + break section, chunk, remaining = encint(chunk, remaining) offset, chunk, remaining = encint(chunk, remaining) size, chunk, remaining = encint(chunk, remaining)