From 4cb87317a7524f5b18e5efdf1e7c0370d7362da8 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 3 Jun 2021 08:57:04 +1000 Subject: [PATCH] pipewire: assert a nonzero array allocation size If pw_array_ensure_size() is called on an array that has not been initialized with an extend, assert. Otherwise we get stuck in an infinite loop since doubling our zero allocation size will never reach "need". --- src/pipewire/array.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pipewire/array.h b/src/pipewire/array.h index 4ed109ca1..7fecb6434 100644 --- a/src/pipewire/array.h +++ b/src/pipewire/array.h @@ -117,6 +117,7 @@ static inline int pw_array_ensure_size(struct pw_array *arr, size_t size) if (SPA_UNLIKELY(alloc < need)) { void *data; alloc = SPA_MAX(alloc, arr->extend); + spa_assert(alloc != 0); /* forgot pw_array_init */ while (alloc < need) alloc *= 2; if (SPA_UNLIKELY((data = realloc(arr->data, alloc)) == NULL))