main/doxygen: upgrade to 1.12.0

This commit is contained in:
Sertonix 2024-08-07 17:41:29 +02:00 committed by Natanael Copa
parent 99484da32e
commit 6190641b35
3 changed files with 4 additions and 73 deletions

View file

@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=doxygen
pkgver=1.11.0
pkgrel=1
pkgver=1.12.0
pkgrel=0
pkgdesc="Documentation system for C++, C, Java, IDL and PHP"
url="https://www.doxygen.nl/"
arch="all"
@ -9,10 +9,7 @@ license="GPL-2.0-or-later"
checkdepends="libxml2-utils"
makedepends="flex bison coreutils perl python3 cmake samurai"
subpackages="$pkgname-doc"
source="https://doxygen.nl/files/doxygen-$pkgver.src.tar.gz
remove-usage-of-fstat64.patch
markdown-overflow.patch
"
source="https://doxygen.nl/files/doxygen-$pkgver.src.tar.gz"
build() {
cmake -B build -G Ninja \
@ -35,7 +32,5 @@ package() {
}
sha512sums="
54f4a15e459d1d9cc3b4f021b5264191146bd8e0e780b57c4c31f4f9dcbfc7fe7a9db58e8cda4c6df1b4b354dd432dac0b3089fd547afe7cbe313771b2c6aaa4 doxygen-1.11.0.src.tar.gz
590d3ca57a0c7cc492118f386c0f90ebbc94aa7557a7095f2ac6de67fe405480d7237fa452ea6c5881fff2f4d7482080cba3bea7513ac0e10cdc458ad345fee9 remove-usage-of-fstat64.patch
31ec5fb1337710eec876ca17f5b518b067a6197ae2875683ff788f9b6efe96bbe69ea7a2bb9aee0a1886bf00574076890ef42e326480e767143d348401299a4d markdown-overflow.patch
e407e29c5e232e1f8dca291dd2d00b1dd400be709400225339408fad2cd758563b69f290cbd7c0efeb76b1335c4672fb1d6d580b9e6ed570708cf9b7d78951b1 doxygen-1.12.0.src.tar.gz
"

View file

@ -1,41 +0,0 @@
From 28b51a7f199d003b309e9dab52457759d5fd7691 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jakub=20Klinkovsk=C3=BD?=
<1289205+lahwaacz@users.noreply.github.com>
Date: Thu, 23 May 2024 21:05:56 +0200
Subject: [PATCH] Fix buffer overflow in Markdown parser
This fixes a buffer overflow that happened when parsing a bad Markdown
file with an unclosed emphasis nested in other elements, such as
```markdown
> __af_err af_flip(af_array *out, const af_array in, const unsigned dim)__
```
This snippet comes from the ArrayFire repository [1]. The problem was
found after the refactoring [2] that introduced std::string_view in the
code. The `std::string_view::operator[]` has bounds checking enabled
when the macro `_GLIBCXX_ASSERTIONS` is defined, which is the case of
Arch Linux build system.
[1] https://github.com/arrayfire/arrayfire/blob/0a25d36238aa1eee3b775d3584937ca65b0a1807/docs/pages/matrix_manipulation.md
[2] https://github.com/doxygen/doxygen/commit/f4e37514325abe4aa6aeecbc96e9e3e027885aef
---
src/markdown.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/markdown.cpp b/src/markdown.cpp
index 10429edd578..df00900b0df 100644
--- a/src/markdown.cpp
+++ b/src/markdown.cpp
@@ -661,6 +661,11 @@ size_t Markdown::Private::findEmphasisChar(std::string_view data, char c, size_t
data[i]!='\\' && data[i]!='@' &&
!(data[i]=='/' && data[i-1]=='<') && // html end tag also ends emphasis
data[i]!='\n') i++;
+ // avoid overflow (unclosed emph token)
+ if (i==size)
+ {
+ return 0;
+ }
//printf("findEmphasisChar: data=[%s] i=%d c=%c\n",data,i,data[i]);
// not counting escaped chars or characters that are unlikely

View file

@ -1,23 +0,0 @@
--- a/deps/spdlog/include/spdlog/details/os-inl.h
+++ b/deps/spdlog/include/spdlog/details/os-inl.h
@@ -236,20 +236,11 @@
# else
int fd = ::fileno(f);
# endif
-// 64 bits(but not in osx or cygwin, where fstat64 is deprecated)
-# if (defined(__linux__) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
- struct stat64 st;
- if (::fstat64(fd, &st) == 0)
- {
- return static_cast<size_t>(st.st_size);
- }
-# else // other unix or linux 32 bits or cygwin
struct stat st;
if (::fstat(fd, &st) == 0)
{
return static_cast<size_t>(st.st_size);
}
-# endif
#endif
throw_spdlog_ex("Failed getting file size from fd", errno);
return 0; // will not be reached.