summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiahui2022-06-07 23:36:47 +0800
committercoffee2022-06-08 00:41:11 +0800
commit512d04041e169ef880524379af1afeb7bbe66a46 (patch)
tree012f765c4e578a46b7ac53ddaadd97892dba2f7b
parent9a1c75e2f8ef27de50d3e2c01f0b677d6ed1b9c0 (diff)
downloadaur-512d04041e169ef880524379af1afeb7bbe66a46.tar.gz
fix vector assertion bug
Fix taking volatile address error
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD10
-rw-r--r--StringFormatter.patch18
-rw-r--r--StringFormatter_h.patch11
-rw-r--r--poppler-private.patch11
5 files changed, 56 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
index faea2990a480..a97ae228f426 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -19,6 +19,9 @@ pkgbase = pdf2htmlex
source = pdf2htmlEX-fontforge-20200314.tar.gz::https://github.com/fontforge/fontforge/archive/20200314.tar.gz
source = pdf2htmlEX-0.18.8.rc1.tar.gz::https://github.com/pdf2htmlEX/pdf2htmlEX/archive/v0.18.8.rc1.tar.gz
source = 50-disable-pdf2htmlex-tests.patch
+ source = poppler-private.patch
+ source = StringFormatter.patch
+ source = StringFormatter_h.patch
source = popplerFlags
source = fontforgeFlags
sha256sums = fba230364537782cc5d43b08d693ef69c36586286349683c7b127156a8ef9b5c
@@ -26,6 +29,9 @@ pkgbase = pdf2htmlex
sha256sums = ad0eb017379c6f7489aa8e2d7c160f19140d1ac6351f20df1d9857d9428efcf2
sha256sums = a1d320f155eaffe78e4af88e288ed5e8217e29031acf6698d14623c59a7c5641
sha256sums = 28d81fc2344dc3a612886e2e159d8bdd0da8de62b28cb2ef16a45b1ccf364af4
+ sha256sums = fae07ecef209ae212fa71dc3ab23a35b6d7754d942ce7ee78a8ffcb090f13c30
+ sha256sums = 2c2231ef294fcd8048614731644b7c49341f4b38a52cb3196dc51aa353dc2505
+ sha256sums = 8cdc16f9738cb95b3f1585f8d6f93851c68c3541e81fcabac8d3f0c5a8520c15
sha256sums = 55558182468c5b96a0c0ed0c3ce7d936c906d1cf3ec232d0a37735cdd8190a10
sha256sums = 35e431f050037d653a61654f9d9d3a13fe790178f4803ce045964fed4d9b7228
diff --git a/PKGBUILD b/PKGBUILD
index 1319ccec1b9c..f424263aef5b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -25,6 +25,9 @@ source=("$_p2hname-poppler-$_popplerver.tar.xz::$_popplerurl-$_popplerver.tar.xz
"$_p2hname-fontforge-$_fontforgever.tar.gz::$_fontforgeurl/$_fontforgever.tar.gz"
"$_p2hname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
"50-disable-pdf2htmlex-tests.patch"
+ "poppler-private.patch"
+ "StringFormatter.patch"
+ "StringFormatter_h.patch"
"popplerFlags" "fontforgeFlags")
sha256sums=('fba230364537782cc5d43b08d693ef69c36586286349683c7b127156a8ef9b5c'
'1f9c7e7de9ecd0db6ab287349e31bf815ca108a5a175cf906a90163bdbe32012'
@@ -32,6 +35,9 @@ sha256sums=('fba230364537782cc5d43b08d693ef69c36586286349683c7b127156a8ef9b5c'
'a1d320f155eaffe78e4af88e288ed5e8217e29031acf6698d14623c59a7c5641'
'28d81fc2344dc3a612886e2e159d8bdd0da8de62b28cb2ef16a45b1ccf364af4'
# above: 50.patch -- below: popplerFlags
+ 'fae07ecef209ae212fa71dc3ab23a35b6d7754d942ce7ee78a8ffcb090f13c30'
+ '2c2231ef294fcd8048614731644b7c49341f4b38a52cb3196dc51aa353dc2505'
+ '8cdc16f9738cb95b3f1585f8d6f93851c68c3541e81fcabac8d3f0c5a8520c15'
'55558182468c5b96a0c0ed0c3ce7d936c906d1cf3ec232d0a37735cdd8190a10'
'35e431f050037d653a61654f9d9d3a13fe790178f4803ce045964fed4d9b7228')
@@ -44,6 +50,10 @@ prepare() {
mv "../fontforge-$_fontforgever/" "fontforge/"
rm -rf "pdf2htmlEX/build"
mkdir "poppler/build/" "fontforge/build/" "pdf2htmlEX/build"
+
+ patch "poppler/glib/poppler-private.h" "${srcdir}/poppler-private.patch"
+ patch "pdf2htmlEX/src/StringFormatter.cc" "${srcdir}/StringFormatter.patch"
+ patch "pdf2htmlEX/src/StringFormatter.h" "${srcdir}/StringFormatter_h.patch"
}
build() {
diff --git a/StringFormatter.patch b/StringFormatter.patch
new file mode 100644
index 000000000000..b8c8c8a2f36c
--- /dev/null
+++ b/StringFormatter.patch
@@ -0,0 +1,18 @@
+--- src/pdf2htmlEX-0.18.8.rc1/pdf2htmlEX/src/StringFormatter.cc 2020-08-20 04:43:25.000000000 +0800
++++ StringFormatter.cc 2022-06-07 22:58:57.561853874 +0800
+@@ -12,13 +12,13 @@
+
+ va_list vlist;
+ va_start(vlist, format);
+- int l = vsnprintf(&buf.front(), buf.capacity(), format, vlist);
++ int l = vsnprintf(buf.data(), buf.capacity(), format, vlist);
+ va_end(vlist);
+ if(l >= (int)buf.capacity())
+ {
+ buf.reserve(std::max<long>((long)(l+1), (long)buf.capacity() * 2));
+ va_start(vlist, format);
+- l = vsnprintf(&buf.front(), buf.capacity(), format, vlist);
++ l = vsnprintf(buf.data(), buf.capacity(), format, vlist);
+ va_end(vlist);
+ }
+ assert(l >= 0); // we should fail when vsnprintf fail
diff --git a/StringFormatter_h.patch b/StringFormatter_h.patch
new file mode 100644
index 000000000000..738c73ccc178
--- /dev/null
+++ b/StringFormatter_h.patch
@@ -0,0 +1,11 @@
+--- src/pdf2htmlEX-0.18.8.rc1/pdf2htmlEX/src/StringFormatter.h 2020-08-20 04:43:25.000000000 +0800
++++ StringFormatter.h 2022-06-07 23:08:24.073903982 +0800
+@@ -21,7 +21,7 @@
+ GuardedPointer(StringFormatter * sf) : sf(sf) { ++(sf->buf_cnt); }
+ GuardedPointer(const GuardedPointer & gp) : sf(gp.sf) { ++(sf->buf_cnt); }
+ ~GuardedPointer(void) { --(sf->buf_cnt); }
+- operator char* () const { return &(sf->buf.front()); }
++ operator char* () const { return sf->buf.data(); }
+ private:
+ StringFormatter * sf;
+ };
diff --git a/poppler-private.patch b/poppler-private.patch
new file mode 100644
index 000000000000..e7655affaafe
--- /dev/null
+++ b/poppler-private.patch
@@ -0,0 +1,11 @@
+--- src/pdf2htmlEX-0.18.8.rc1/poppler/glib/poppler-private.h 2020-05-28 05:23:59.000000000 +0800
++++ poppler-private.h 2022-06-07 21:57:01.848597082 +0800
+@@ -154,7 +154,7 @@
+ GType \
+ type_name##_get_type (void) \
+ { \
+- static volatile gsize g_define_type_id__volatile = 0; \
++ static gsize g_define_type_id__volatile = 0; \
+ if (g_once_init_enter (&g_define_type_id__volatile)) { \
+ GType g_define_type_id = \
+ g_boxed_type_register_static (g_intern_static_string (#TypeName), \