Compare commits

..

1 commit

Author SHA1 Message Date
Than Ngo
3a587564e6 Update to 1.15.0 2025-11-13 17:10:42 +01:00
4 changed files with 12 additions and 104 deletions

1
.gitignore vendored
View file

@ -68,3 +68,4 @@ doxygen-1.7.1.src.tar.gz
/doxygen-1.13.1.src.tar.gz
/doxygen-1.13.2.src.tar.gz
/doxygen-1.14.0.src.tar.gz
/doxygen-1.15.0.src.tar.gz

View file

@ -1,88 +0,0 @@
commit f519f8f92d3925f2b58a93e555da3720c09af56c
Author: albert-github <albert.tests@gmail.com>
Date: Sun Jun 22 12:35:03 2025 +0200
Input buffer overflow
When having a, very, long string as an argument in e.g. PHP or C++ we get am error like:
```
input buffer overflow, can't enlarge buffer because scanner uses REJECT
```
which can be overcome by enlarging the lex buffers (CMake option `enlarge_lex_buffers`) but is also possible to limit the search pattern from a `+` pattern to a number of elements `{1,n}` pattern.
For PHP the string argument should, analogous to C++ not be a copy rule but a skip rule (`scanner.l`)
diff --git a/src/code.l b/src/code.l
index a2020eb14..4fb0c0fd5 100644
--- a/src/code.l
+++ b/src/code.l
@@ -1279,10 +1279,10 @@ ENDQopt ("const"|"volatile"|"sealed"|"override")({BN}+("const"|"volatile"|"seale
yyextra->inForEachExpression = FALSE;
BEGIN( SkipStringS );
}
-<SkipString>[^\"\\\r\n]* {
+<SkipString>[^\"\\\r\n]{1,100} {
yyextra->code->codify(yytext);
}
-<SkipStringS>[^\'\\\r\n]* {
+<SkipStringS>[^\'\\\r\n]{1,100} {
yyextra->code->codify(yytext);
}
<SkipString,SkipStringS>{CPPC}|{CCS} {
diff --git a/src/pre.l b/src/pre.l
index dc155aa6f..9edf21727 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -607,10 +607,10 @@ WSopt [ \t\r]*
outputChar(yyscanner,*yytext);
BEGIN( CopyStringFtn );
}
-<CopyString>[^\"\\\r\n]+ {
+<CopyString>[^\"\\\r\n]{1,1000} {
outputArray(yyscanner,yytext,yyleng);
}
-<CopyStringCs>[^\"\r\n]+ {
+<CopyStringCs>[^\"\r\n]{1,1000} {
outputArray(yyscanner,yytext,yyleng);
}
<CopyStringCs>\"\" {
@@ -623,7 +623,7 @@ WSopt [ \t\r]*
outputChar(yyscanner,*yytext);
BEGIN( CopyLine );
}
-<CopyStringFtnDouble>[^\"\\\r\n]+ {
+<CopyStringFtnDouble>[^\"\\\r\n]{1,1000} {
outputArray(yyscanner,yytext,yyleng);
}
<CopyStringFtnDouble>\\. {
@@ -633,7 +633,7 @@ WSopt [ \t\r]*
outputChar(yyscanner,*yytext);
BEGIN( CopyLine );
}
-<CopyStringFtn>[^\'\\\r\n]+ {
+<CopyStringFtn>[^\'\\\r\n]{1,1000} {
outputArray(yyscanner,yytext,yyleng);
}
<CopyStringFtn>\\. {
@@ -652,7 +652,7 @@ WSopt [ \t\r]*
BEGIN( CopyLine );
}
}
-<CopyRawString>[^)]+ {
+<CopyRawString>[^)]{1,1000} {
outputArray(yyscanner,yytext,yyleng);
}
<CopyRawString>. {
diff --git a/src/scanner.l b/src/scanner.l
index a6a70d25c..3c8b887d4 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -5141,7 +5141,7 @@ NONLopt [^\n]*
if (yyextra->insidePHP)
{
yyextra->lastCopyArgStringContext=YY_START;
- BEGIN(CopyArgPHPString);
+ BEGIN(SkipPHPString);
}
}
<ReadFuncArgType,ReadTempArgs,CopyArgString,CopyArgPHPString,CopyArgRound,CopyArgSquare,CopyArgSharp>"<="|">="|"<=>" {

View file

@ -16,8 +16,8 @@
Summary: A documentation system for C/C++
Name: doxygen
Epoch: 2
Version: 1.14.0
Release: 5%{?dist}
Version: 1.15.0
Release: 1%{?dist}
# No version is specified.
License: GPL-2.0-or-later
Url: https://github.com/doxygen
@ -30,8 +30,6 @@ Source3: README.rpm-packaging
Source4: doxygen-unbundler
# upstream fixes
# fix input buffer overflow
Patch1: doxygen-input-buffer-overflow.patch
BuildRequires: %{_bindir}/python3
BuildRequires: perl-interpreter, perl-open
@ -158,7 +156,8 @@ Javascript files for use by locally installed Doxygen documentation.
%package doxywizard
Summary: A GUI for creating and editing configuration files
Requires: %{name} = %{epoch}:%{version}-%{release}
BuildRequires: qt5-qtbase-devel
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtsvg-devel
%description doxywizard
Doxywizard is a GUI for creating and editing configuration files that
@ -244,11 +243,6 @@ Requires: texlive-epstopdf
%prep
%autosetup -p1 -a2
# convert into utf-8
iconv --from=ISO-8859-1 --to=UTF-8 LANGUAGE.HOWTO > LANGUAGE.HOWTO.new
touch -r LANGUAGE.HOWTO LANGUAGE.HOWTO.new
mv LANGUAGE.HOWTO.new LANGUAGE.HOWTO
cp %{SOURCE3} .
%build
@ -296,8 +290,8 @@ rm -f %{buildroot}/%{_mandir}/man1/doxyindexer.1* %{buildroot}/%{_mandir}/man1/d
rm -rf %{buildroot}/%{_docdir}/packages
# Install the asset files.
install -m644 -D --target-directory=%{buildroot}%{_jsdir}/doxygen \
templates/html/*.js
install -m644 -D --target-directory=%{buildroot}%{_jsdir}/doxygen templates/html/*.js
# Generate the macros file. Expand version/release/%%_jsdir.
mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d
cat > %{buildroot}%{_rpmconfigdir}/macros.d/macros.doxygen <<'EOF'
@ -305,7 +299,8 @@ cat > %{buildroot}%{_rpmconfigdir}/macros.d/macros.doxygen <<'EOF'
%%doxygen_unbundle_buildroot() %%{_rpmconfigdir}/redhat/doxygen-unbundler "%{_jsdir}" "%%{buildroot}" %%[ %%# == 0 ? "%%{_docdir}" : "%%1"]
%%doxygen_unbundle() %{_rpmconfigdir}/redhat/doxygen-unbundler "%{_jsdir}" "" %%*
EOF
# Install the unbundler script.
# Install the unbundler script.
install -m755 -D --target-directory=%{buildroot}%{_rpmconfigdir}/redhat %{SOURCE4}
%check
@ -345,8 +340,8 @@ install -m755 -D --target-directory=%{buildroot}%{_rpmconfigdir}/redhat %{SOURCE
%endif
%changelog
* Fri Nov 28 2025 Than Ngo <than@redhat.com> - 2:1.14.0-5
- Fix rhbz#2416173, Rebuilt against llvm-21
* Thu Nov 13 2025 Than Ngo <than@redhat.com> - 2:1.15.0-1
- Update to 1.15.0
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.14.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild

View file

@ -1,2 +1,2 @@
SHA512 (doxywizard-icons.tar.xz) = 865a86d7535e64ad92e36ba1f901d51cd6b603e762e5c68761a45bc1f965a36e6a6c8d29468ecb2ec799f0add2347537723832aff6660c76af453f80a0a370ad
SHA512 (doxygen-1.14.0.src.tar.gz) = b042f7f731cd17bea55f7393dd90433f49fa296a61054950c2e1457ff1d57e218706cbc4f5248f42c2242bf1acccd91e88cf545ca394a31a4d2d8b7f5954baa9
SHA512 (doxygen-1.15.0.src.tar.gz) = e53cc8da6cf1fe3ca3b3637647ed6afa28365351eac81d010f6691d939df5e449b3d898a6f695dd850d12659dfd7018fc864071b30fbca5dd196dc094ec4371e