From d23b479aaf0a1228d5fbae6856ee44742d459ae6 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 22 Jul 2025 14:00:09 +0200 Subject: [PATCH] client-node: close SyncObj fd as well We also need to close the SynObj fd we got, just like we close any DmaBuf or MemFd. Make sure we get a compiler error when we add more items to the data type enumeration later. Fixes #4807 --- src/modules/module-client-node/client-node.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/modules/module-client-node/client-node.c b/src/modules/module-client-node/client-node.c index 3c6d6e4d8..6c2137b03 100644 --- a/src/modules/module-client-node/client-node.c +++ b/src/modules/module-client-node/client-node.c @@ -242,7 +242,11 @@ fail: static void clear_data(struct impl *impl, struct spa_data *d) { - switch (d->type) { + switch ((enum spa_data_type)d->type) { + case SPA_DATA_Invalid: + case SPA_DATA_MemPtr: + case _SPA_DATA_LAST: + break; case SPA_DATA_MemId: { uint32_t id; @@ -258,11 +262,10 @@ static void clear_data(struct impl *impl, struct spa_data *d) } case SPA_DATA_MemFd: case SPA_DATA_DmaBuf: + case SPA_DATA_SyncObj: pw_log_debug("%p: close fd:%d", impl, (int)d->fd); close(d->fd); break; - default: - break; } }