Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a587564e6 |
4 changed files with 13 additions and 102 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>"<="|">="|"<=>" {
|
||||
24
doxygen.spec
24
doxygen.spec
|
|
@ -16,8 +16,8 @@
|
|||
Summary: A documentation system for C/C++
|
||||
Name: doxygen
|
||||
Epoch: 2
|
||||
Version: 1.14.0
|
||||
Release: 4%{?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,6 +340,9 @@ install -m755 -D --target-directory=%{buildroot}%{_rpmconfigdir}/redhat %{SOURCE
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* 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
|
||||
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue