- fixed Coverity issues

- fixed crash in docparser
This commit is contained in:
Than Ngo 2021-02-10 11:10:11 +01:00
parent 72520841ea
commit a5c95acd27
3 changed files with 68 additions and 1 deletions

View File

@ -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 << "\"";

View File

@ -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;
}
}
}

View File

@ -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 <than@redhat.com> - 1:1.9.1-6
- fixed Coverity issues
- fixed crash in docparser
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild