From e241febe62099ecdacb42cf43f5c2045f3ebae96 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 13 Jan 2022 21:22:25 +0100 Subject: [PATCH] global: handle id allocation errors --- src/pipewire/global.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pipewire/global.c b/src/pipewire/global.c index 635a8c0f4..86fe4a3fb 100644 --- a/src/pipewire/global.c +++ b/src/pipewire/global.c @@ -98,12 +98,17 @@ pw_global_new(struct pw_context *context, spa_list_init(&this->resource_list); spa_hook_list_init(&this->listener_list); - pw_context_add_global(context, this); + if (pw_context_add_global(context, this) == SPA_ID_INVALID) { + res = -ENOMEM; + goto error_free; + } pw_log_debug("%p: new %s %d", this, this->type, this->id); return this; +error_free: + free(this); error_cleanup: pw_properties_free(properties); errno = -res;