From 7f3b6c1f7d30f2183298af23f4fb0ac36b9e3b1d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 28 Jul 2013 09:34:58 +0530 Subject: [PATCH] MOBI metadata: Handle cover/thumbnail exth fields with null pointers MOBI metadata: Do not fail to set metadata in MOBI files if they have EXTH fields with NULL pointers to a cover or thumbnail. Fixes #1205757 [Metadata edits not sticking](https://bugs.launchpad.net/calibre/+bug/1205757) --- src/calibre/ebooks/metadata/mobi.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/metadata/mobi.py b/src/calibre/ebooks/metadata/mobi.py index 7ad9a01962..ac675b1d84 100644 --- a/src/calibre/ebooks/metadata/mobi.py +++ b/src/calibre/ebooks/metadata/mobi.py @@ -169,10 +169,11 @@ class MetadataUpdater(object): self.timestamp = content elif id == 201: rindex, = self.cover_rindex, = unpack('>I', content) - self.cover_record = self.record(rindex + image_base) + if rindex != 0xffffffff: + self.cover_record = self.record(rindex + image_base) elif id == 202: rindex, = self.thumbnail_rindex, = unpack('>I', content) - if rindex > 0 : + if rindex > 0 and rindex != 0xffffffff: self.thumbnail_record = self.record(rindex + image_base) def patch(self, off, new_record0):