From 2a8d511be8bb5639e4b35ac50295a0fd4485b593 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= Date: Sun, 30 May 2021 00:21:43 +0200 Subject: [PATCH] pipewire: map: initialize free_list to SPA_ID_INVALID If `struct pw_map::free_list` is not initialized to `SPA_ID_INVALID`, then `pw_map_insert()` will try to read `map->items.data[0]` when inserting the first element, but `data` is a `NULL` pointer after initialization. --- 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 5a88daeb4..b73574aff 100644 --- a/src/pipewire/map.h +++ b/src/pipewire/map.h @@ -57,7 +57,7 @@ struct pw_map { uint32_t free_list; /**< the free items */ }; -#define PW_MAP_INIT(extend) (struct pw_map) { PW_ARRAY_INIT(extend), 0 } +#define PW_MAP_INIT(extend) (struct pw_map) { PW_ARRAY_INIT(extend), SPA_ID_INVALID } #define pw_map_get_size(m) pw_array_get_len(&(m)->items, union pw_map_item) #define pw_map_get_item(m,id) pw_array_get_unchecked(&(m)->items,id,union pw_map_item)