summaryrefslogtreecommitdiff
path: root/media-video/pipewire/files/pipewire-0.3.39-endian-test-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/pipewire/files/pipewire-0.3.39-endian-test-fix.patch')
-rw-r--r--media-video/pipewire/files/pipewire-0.3.39-endian-test-fix.patch112
1 files changed, 0 insertions, 112 deletions
diff --git a/media-video/pipewire/files/pipewire-0.3.39-endian-test-fix.patch b/media-video/pipewire/files/pipewire-0.3.39-endian-test-fix.patch
deleted file mode 100644
index 2687299b235d..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.39-endian-test-fix.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/5dfc3494dc4635918e74b9f3d717a39a74b28554.patch
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/c07f0ccb71a9d95944ce3e4d7e453cb50a26b0a2.patch
-
-From 5dfc3494dc4635918e74b9f3d717a39a74b28554 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Mon, 25 Oct 2021 16:15:17 +0200
-Subject: [PATCH] map: use uintptr_t for the next pointer
-
-This aligns the low bits of the next field with the low bits of the
-pointer on big endian cpus.
-
-Fixes #1747
----
- src/pipewire/map.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/pipewire/map.h b/src/pipewire/map.h
-index f47dfa6b3..1867fa4d3 100644
---- a/src/pipewire/map.h
-+++ b/src/pipewire/map.h
-@@ -74,7 +74,7 @@ extern "C" {
- * first item to get re-used on the next insert.
- */
- union pw_map_item {
-- uint32_t next; /* next free index */
-+ uintptr_t next; /* next free index */
- void *data; /* data of this item, must be an even address */
- };
-
---
-GitLab
-
-From c07f0ccb71a9d95944ce3e4d7e453cb50a26b0a2 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Mon, 25 Oct 2021 16:11:56 +0200
-Subject: [PATCH] map: make _insert_at() fail on a removed item
-
-You are only supposed to use _insert_new()/_remove() or _insert_at()
-on the map, If we detect a _insert_at() to a removed item,
-return an error because else we might corrupt the free list.
-
-Update unit test accordingly.
----
- src/pipewire/map.h | 15 ++-------------
- test/test-map.c | 17 +----------------
- 2 files changed, 3 insertions(+), 29 deletions(-)
-
-diff --git a/src/pipewire/map.h b/src/pipewire/map.h
-index fd57f7f7c..f47dfa6b3 100644
---- a/src/pipewire/map.h
-+++ b/src/pipewire/map.h
-@@ -182,20 +182,9 @@ static inline int pw_map_insert_at(struct pw_map *map, uint32_t id, void *data)
- if (item == NULL)
- return -errno;
- } else {
-- if (pw_map_id_is_free(map, id)) {
-- uint32_t *current = &map->free_list;
-- while (*current != SPA_ID_INVALID) {
-- uint32_t current_id = (*current) >> 1;
-- uint32_t *next = &pw_map_get_item(map, current_id)->next;
--
-- if (current_id == id) {
-- *current = *next;
-- break;
-- }
-- current = next;
-- }
-- }
- item = pw_map_get_item(map, id);
-+ if (pw_map_item_is_free(item))
-+ return -EINVAL;
- }
- item->data = data;
- return 0;
-diff --git a/test/test-map.c b/test/test-map.c
-index dd1df77a8..b6d7681ce 100644
---- a/test/test-map.c
-+++ b/test/test-map.c
-@@ -188,7 +188,6 @@ PWTEST(map_insert_at_free)
- int data[3] = {1, 2, 3};
- int new_data = 4;
- int *ptr[3] = {&data[0], &data[1], &data[3]};
-- int *new_ptr = &new_data;
- int idx[3];
- int rc;
-
-@@ -225,21 +224,7 @@ PWTEST(map_insert_at_free)
- }
-
- rc = pw_map_insert_at(&map, item_idx, &new_data);
-- pwtest_neg_errno_ok(rc);
-- pwtest_ptr_eq(new_ptr, pw_map_lookup(&map, item_idx));
--
-- if (before_idx != SKIP && before_idx != item_idx) {
-- rc = pw_map_insert_at(&map, before_idx, &ptr[before_idx]);
-- pwtest_neg_errno_ok(rc);
-- pwtest_ptr_eq(&ptr[before_idx], pw_map_lookup(&map, before_idx));
-- }
--
-- if (after_idx != SKIP && after_idx != item_idx) {
-- rc = pw_map_insert_at(&map, after_idx, &ptr[after_idx]);
-- pwtest_neg_errno_ok(rc);
-- pwtest_ptr_eq(&ptr[after_idx], pw_map_lookup(&map, after_idx));
-- }
--
-+ pwtest_neg_errno(rc, -EINVAL);
- pw_map_clear(&map);
-
- return PWTEST_PASS;
---
-GitLab
-