summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2022-07-16 21:34:13 +0200
committerFabian Groffen <grobian@gentoo.org>2022-07-16 21:35:23 +0200
commitf61a854bf04077812644f5a7d1b1ef508bb43d70 (patch)
tree5cb1c505c859dbf0afc1eebde7ae7a7e53dc7f72 /app-arch/xar/files
parentnet-misc/spice-gtk: Fix build for musl users (diff)
downloadgentoo-f61a854bf04077812644f5a7d1b1ef508bb43d70.tar.gz
gentoo-f61a854bf04077812644f5a7d1b1ef508bb43d70.tar.bz2
gentoo-f61a854bf04077812644f5a7d1b1ef508bb43d70.zip
app-arch/xar-1.8.0.0.487.100.1: version bump, security fix #820641
xar version from macOS 12.3 and up Bug: https://bugs.gentoo.org/820641 Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Diffstat (limited to 'app-arch/xar/files')
-rw-r--r--app-arch/xar/files/xar-1.8.0.0.487-non-darwin.patch12
-rw-r--r--app-arch/xar/files/xar-1.8.0.0.487-variable-sized-object.patch18
2 files changed, 30 insertions, 0 deletions
diff --git a/app-arch/xar/files/xar-1.8.0.0.487-non-darwin.patch b/app-arch/xar/files/xar-1.8.0.0.487-non-darwin.patch
new file mode 100644
index 000000000000..c350f69f4ca0
--- /dev/null
+++ b/app-arch/xar/files/xar-1.8.0.0.487-non-darwin.patch
@@ -0,0 +1,12 @@
+don't do availability stuff on non-Darwin
+
+--- a/include/xar.h.in
++++ b/include/xar.h.in
+@@ -52,6 +52,7 @@
+ #import <os/availability.h>
+ #else
+ #define API_DEPRECATED(...)
++#define API_AVAILABLE(...)
+ #endif
+
+ #pragma pack(4)
diff --git a/app-arch/xar/files/xar-1.8.0.0.487-variable-sized-object.patch b/app-arch/xar/files/xar-1.8.0.0.487-variable-sized-object.patch
new file mode 100644
index 000000000000..8779c1129cd7
--- /dev/null
+++ b/app-arch/xar/files/xar-1.8.0.0.487-variable-sized-object.patch
@@ -0,0 +1,18 @@
+GCC doesn't like this:
+
+filetree.c:744:9: error: variable-sized object may not be initialized
+
+Since there's nothing changing at runtime at all, just make the compiler
+see it's always going to be 1.
+
+--- a/lib/filetree.c
++++ b/lib/filetree.c
+@@ -740,7 +740,7 @@
+ size_t fspath1_size = 0, fspath2_size = 0;
+ size_t ns1_size = 0, ns2_size = 0;
+ const struct __xar_file_t * child1 = NULL, * child2 = NULL;
+- const uint keys_to_ignore_count = 1;
++#define keys_to_ignore_count 1
+ char * keys_to_ignore[keys_to_ignore_count] = { "id" }; // ID is allowed ot mismatch
+
+ // If the two pointers match, call it the same.