From a5c95acd274d34b9ae12f085bc892bc34d9602d5 Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Wed, 10 Feb 2021 11:10:11 +0100 Subject: [PATCH] - fixed Coverity issues - fixed crash in docparser --- doxygen-1.9.1-Coverity_issues.patch | 49 ++++++++++++++++++++++++++ doxygen-1.9.1-crash_in_docparser.patch | 12 +++++++ doxygen.spec | 8 ++++- 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 doxygen-1.9.1-Coverity_issues.patch create mode 100644 doxygen-1.9.1-crash_in_docparser.patch diff --git a/doxygen-1.9.1-Coverity_issues.patch b/doxygen-1.9.1-Coverity_issues.patch new file mode 100644 index 0000000..a1848e6 --- /dev/null +++ b/doxygen-1.9.1-Coverity_issues.patch @@ -0,0 +1,49 @@ +diff -up doxygen-1.9.1/src/context.cpp.me doxygen-1.9.1/src/context.cpp +--- doxygen-1.9.1/src/context.cpp.me 2021-02-10 10:56:44.575251899 +0100 ++++ doxygen-1.9.1/src/context.cpp 2021-02-10 10:57:54.522809720 +0100 +@@ -4062,11 +4062,11 @@ class MemberContext::Private : public De + s_inst.addProperty("nameWithContextFor", &Private::nameWithContextFor); + init=TRUE; + } +- if (md && !md->cookie()) { md->setCookie(new MemberContext::Private::Cachable(md)); } ++ if (!md->cookie()) { md->setCookie(new MemberContext::Private::Cachable(md)); } + + Cachable &cache = getCache(); + cache.propertyAttrs.reset(TemplateList::alloc()); +- if (md && md->isProperty()) ++ if (md->isProperty()) + { + if (md->isGettable()) cache.propertyAttrs->append("get"); + if (md->isPrivateGettable()) cache.propertyAttrs->append("private get"); +@@ -4076,7 +4076,7 @@ class MemberContext::Private : public De + if (md->isProtectedSettable()) cache.propertyAttrs->append("protected set"); + } + cache.eventAttrs.reset(TemplateList::alloc()); +- if (md && md->isEvent()) ++ if (md->isEvent()) + { + if (md->isAddable()) cache.eventAttrs->append("add"); + if (md->isRemovable()) cache.eventAttrs->append("remove"); +diff -up doxygen-1.9.1/src/docparser.cpp.me doxygen-1.9.1/src/docparser.cpp +--- doxygen-1.9.1/src/docparser.cpp.me 2021-02-10 10:58:11.491500540 +0100 ++++ doxygen-1.9.1/src/docparser.cpp 2021-02-10 11:00:35.905512597 +0100 +@@ -1524,7 +1524,7 @@ reparsetoken: + { + QCString scope; + doctokenizerYYsetStateSetScope(); +- doctokenizerYYlex(); ++ (void)doctokenizerYYlex(); + scope = g_token->name; + g_context = scope; + //printf("Found scope='%s'\n",scope.data()); +diff -up doxygen-1.9.1/src/dotgroupcollaboration.cpp.me doxygen-1.9.1/src/dotgroupcollaboration.cpp +--- doxygen-1.9.1/src/dotgroupcollaboration.cpp.me 2021-02-10 11:01:10.588530954 +0100 ++++ doxygen-1.9.1/src/dotgroupcollaboration.cpp 2021-02-10 11:02:54.216221350 +0100 +@@ -309,6 +309,7 @@ void DotGroupCollaboration::Edge::write( + { + if (first) first=FALSE; else t << "\\n"; + t << DotNode::convertLabel(link->label); ++ count++; + } + if (count==maxLabels) t << "\\n..."; + t << "\""; diff --git a/doxygen-1.9.1-crash_in_docparser.patch b/doxygen-1.9.1-crash_in_docparser.patch new file mode 100644 index 0000000..f1308fa --- /dev/null +++ b/doxygen-1.9.1-crash_in_docparser.patch @@ -0,0 +1,12 @@ +diff -up doxygen-1.9.1/src/docparser.cpp.me doxygen-1.9.1/src/docparser.cpp +--- doxygen-1.9.1/src/docparser.cpp.me 2021-02-10 10:52:09.481086282 +0100 ++++ doxygen-1.9.1/src/docparser.cpp 2021-02-10 10:55:32.418781686 +0100 +@@ -951,7 +951,7 @@ static void handlePendingStyleCommands(D + children.append(new DocStyleChange(parent,g_nodeStack.count(),sc->style(),sc->tagName(),FALSE)); + g_initialStyleStack.push(sc); + g_styleStack.pop(); +- sc = g_styleStack.top(); ++ sc = !g_styleStack.empty() ? g_styleStack.top() : 0; + } + } + } diff --git a/doxygen.spec b/doxygen.spec index 00bb735..d410fdb 100644 --- a/doxygen.spec +++ b/doxygen.spec @@ -16,7 +16,7 @@ Summary: A documentation system for C/C++ Name: doxygen Epoch: 1 Version: 1.9.1 -Release: 5%{?dist} +Release: 6%{?dist} # No version is specified. License: GPL+ @@ -29,6 +29,8 @@ Source2: doxywizard-icons.tar.xz # upstream patches Patch1: doxgen-1.9.1-crash-when-parsing-config-file.patch Patch2: doxgen-1.9.1-crash-when-parsing-config-file-part2.patch +Patch3: doxygen-1.9.1-Coverity_issues.patch +Patch4: doxygen-1.9.1-crash_in_docparser.patch BuildRequires: %{_bindir}/python3 BuildRequires: gcc-c++ gcc @@ -302,6 +304,10 @@ desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1} %endif %changelog +* Wed Feb 10 2021 Than Ngo - 1:1.9.1-6 +- fixed Coverity issues +- fixed crash in docparser + * Tue Jan 26 2021 Fedora Release Engineering - 1:1.9.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild