fixed bz#1916161, crashes when parsing config file

This commit is contained in:
Than Ngo 2021-01-19 09:36:30 +01:00
parent b2647be5a1
commit 16e4f9c840
2 changed files with 69 additions and 1 deletions

View File

@ -0,0 +1,64 @@
commit 3b15963316b59cd1af3468a43535d90343916ffb
Author: Dimitri van Heesch <doxygen@gmail.com>
Date: Mon Jan 18 19:59:16 2021 +0100
issue #8343: doxygen-1.9.1 crashes when parsing config file
diff --git a/src/configimpl.l b/src/configimpl.l
index 7f73ec01..56a2e108 100644
--- a/src/configimpl.l
+++ b/src/configimpl.l
@@ -1210,7 +1210,7 @@ static void substEnvVarsInStrList(StringVector &sl)
c=result.at(i);
if (c=='"') // end quote
{
- results.push_back(result.mid(p,i-p).data());
+ results.push_back(result.mid(p,i-p).str());
p=i+1;
break;
}
@@ -1222,7 +1222,7 @@ static void substEnvVarsInStrList(StringVector &sl)
}
else if (c==' ' || c=='\t') // separator
{
- if (i>p) results.push_back(result.mid(p,i-p).data());
+ if (i>p) results.push_back(result.mid(p,i-p).str());
p=i+1;
}
}
@@ -1234,7 +1234,7 @@ static void substEnvVarsInStrList(StringVector &sl)
}
else // just goto the next element in the list
{
- if (!result.isEmpty()) results.push_back(result.data());
+ if (!result.isEmpty()) results.push_back(result.str());
}
}
sl = results;
@@ -1409,7 +1409,7 @@ static void cleanUpPaths(StringVector &str)
QFileInfo fi(path.c_str());
if (fi.exists() && fi.isDir())
{
- path = fi.absFilePath().utf8().data();
+ path = fi.absFilePath().utf8().str();
if (path[path.size()-1]!='/') path+='/';
}
}
@@ -1545,7 +1545,7 @@ void Config::checkAndCorrect()
QString p = QDir::currentDirPath();
if (p.at(p.length()-1)!='/')
p.append('/');
- stripFromPath.push_back(p.utf8().data());
+ stripFromPath.push_back(p.utf8().str());
}
else
{
@@ -1882,7 +1882,7 @@ void Config::checkAndCorrect()
if (inputSources.empty())
{
// use current dir as the default
- inputSources.push_back(QDir::currentDirPath().utf8().data());
+ inputSources.push_back(QDir::currentDirPath().utf8().str());
}
else
{

View File

@ -16,7 +16,7 @@ Summary: A documentation system for C/C++
Name: doxygen
Epoch: 1
Version: 1.9.1
Release: 1%{?dist}
Release: 2%{?dist}
# No version is specified.
License: GPL+
@ -27,6 +27,7 @@ Source1: doxywizard.desktop
# these icons are part of doxygen and converted from doxywizard.ico
Source2: doxywizard-icons.tar.xz
# upstream patches
Patch1: doxgen-1.9.1-crash-when-parsing-config-file.patch
BuildRequires: %{_bindir}/python3
BuildRequires: gcc-c++ gcc
@ -300,6 +301,9 @@ desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
%endif
%changelog
* Tue Jan 19 2021 Than Ngo <than@redhat.com> - 1.9.1-2
- fixed bz#1916161, crashes when parsing config file
* Mon Jan 11 2021 Than Ngo <than@redhat.com> - 1.9.1-1
- update to 1.9.1