From 26283660b7fca319bd1cf7e6206772dbb923e5a2 Mon Sep 17 00:00:00 2001 From: Paulo Matias Date: Tue, 21 Jan 2014 16:54:22 -0200 Subject: [PATCH] Fix rare bugs identified by fuzzing --- frontend/ui/reader/readerdictionary.lua | 2 +- frontend/ui/reader/readerfooter.lua | 1 + frontend/ui/reader/readerlink.lua | 8 +++++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/frontend/ui/reader/readerdictionary.lua b/frontend/ui/reader/readerdictionary.lua index 47eda1dfb..3f6f2ab7a 100644 --- a/frontend/ui/reader/readerdictionary.lua +++ b/frontend/ui/reader/readerdictionary.lua @@ -34,7 +34,7 @@ function ReaderDictionary:stardictLookup(word, box) end function ReaderDictionary:showDict(results, box) - if results and results[1] then + if results and results[1] and box then DEBUG("showing quick lookup dictionary window") local align = nil local region = Geom:new{x = 0, w = Screen:getWidth()} diff --git a/frontend/ui/reader/readerfooter.lua b/frontend/ui/reader/readerfooter.lua index 9ff00ddb8..7c078bbd1 100644 --- a/frontend/ui/reader/readerfooter.lua +++ b/frontend/ui/reader/readerfooter.lua @@ -77,6 +77,7 @@ function ReaderFooter:init() end function ReaderFooter:updateFooter() + if type(self.pageno) ~= "number" then return end self.progress_bar.percentage = self.pageno / self.pages if self.show_time then self.progress_text.text = os.date("%H:%M") diff --git a/frontend/ui/reader/readerlink.lua b/frontend/ui/reader/readerlink.lua index bcb7aa0a1..bf2ded913 100644 --- a/frontend/ui/reader/readerlink.lua +++ b/frontend/ui/reader/readerlink.lua @@ -53,9 +53,11 @@ end function ReaderLink:onTap(arg, ges) if self.ui.document.info.has_pages then local pos = self.view:screenToPageTransform(ges.pos) - local link = self.ui.document:getLinkFromPosition(pos.page, pos) - if link then - return self:onGotoLink(link) + if pos then + local link = self.ui.document:getLinkFromPosition(pos.page, pos) + if link then + return self:onGotoLink(link) + end end else local link = self.ui.document:getLinkFromPosition(ges.pos)