Date: Sat, 4 May 2019 11:53:36 +0000 (UTC) From: "Tobias C. Berner" <tcberner@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r500806 - in head/textproc/ebook-tools: . files Message-ID: <201905041153.x44BraEJ056872@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: tcberner Date: Sat May 4 11:53:35 2019 New Revision: 500806 URL: https://svnweb.freebsd.org/changeset/ports/500806 Log: textproc/ebook-tools: fix bug wit invalid epub files https://bugs.kde.org/show_bug.cgi?id=406116 Added: head/textproc/ebook-tools/files/patch-git_93ebf9 (contents, props changed) Modified: head/textproc/ebook-tools/Makefile Modified: head/textproc/ebook-tools/Makefile ============================================================================== --- head/textproc/ebook-tools/Makefile Sat May 4 11:43:14 2019 (r500805) +++ head/textproc/ebook-tools/Makefile Sat May 4 11:53:35 2019 (r500806) @@ -3,7 +3,7 @@ PORTNAME= ebook-tools PORTVERSION= 0.2.2 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= textproc kde MASTER_SITES= SF Added: head/textproc/ebook-tools/files/patch-git_93ebf9 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/textproc/ebook-tools/files/patch-git_93ebf9 Sat May 4 11:53:35 2019 (r500806) @@ -0,0 +1,59 @@ +Fix bug in libepub which may lead to crashes in baloo. + +[1] https://bugsfiles.kde.org/attachment.cgi?id=119785 +[2] https://sourceforge.net/projects/ebook-tools/ +[3] https://bugs.kde.org/show_bug.cgi?id=406116 +[4] https://sourceforge.net/p/ebook-tools/bugs/8/ + +From 93ebf942a90f9c95797838f9adab94bc0378671c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de> +Date: Tue, 30 Apr 2019 16:36:09 +0200 +Subject: [PATCH] Avoid crash on toc.ncx navPoint without navLabel + +Althoug at least one navLabel is required per navPoint, there is no +guarantee it actually exists. + +Avoid crashes due to invalid accesses of a null label in case the toc is +broken, and spew a warning. + +Fixes #8 epub_tit_next crashes on navPoint without navLabel. +--- + ebook-tools/src/libepub/epub.c | 5 +++-- + ebook-tools/src/libepub/opf.c | 4 ++++ + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git ebook-tools/src/libepub/epub.c ebook-tools/src/libepub/epub.c +index d085503..a259d9d 100644 +--- src/libepub/epub.c ++++ src/libepub/epub.c +@@ -469,8 +469,9 @@ int epub_tit_next(struct titerator *tit) { + case TITERATOR_NAVMAP: + case TITERATOR_PAGES: + ti = GetNodeData(curr); +- tit->cache.label = +- (char *)_opf_label_get_by_doc_lang(tit->epub->opf, ti->label); ++ if (ti->label) ++ tit->cache.label = ++ (char *)_opf_label_get_by_doc_lang(tit->epub->opf, ti->label); + + if (! tit->cache.label) + tit->cache.label = (char *)ti->id; +diff --git ebook-tools/src/libepub/opf.c ebook-tools/src/libepub/opf.c +index 6851db2..09bce9e 100644 +--- src/libepub/opf.c ++++ src/libepub/opf.c +@@ -398,6 +398,10 @@ void _opf_parse_navmap(struct opf *opf, xmlTextReaderPtr reader) { + + } else if (xmlTextReaderNodeType(reader) == 15) { + if (item) { ++ if (! item->label) { ++ _epub_print_debug(opf->epub, DEBUG_WARNING, ++ "- missing navlabel for nav point element"); ++ } + _epub_print_debug(opf->epub, DEBUG_INFO, + "adding nav point item->%s %s (d:%d,p:%d)", + item->id, item->src, item->depth, item->playOrder); +-- +2.21.0 + +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201905041153.x44BraEJ056872>