From 3a912cbbb3107d78cbd9589a2d0d8f9cd675136e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= Date: Sun, 5 May 2024 16:33:35 +0200 Subject: [PATCH] pw-dump: fix string memory leak on error `object::type` was not cleared in the error path. Fix that by calling `object_destroy()`, which takes care of it. --- src/tools/pw-dump.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/tools/pw-dump.c b/src/tools/pw-dump.c index 066685f90..9e549eccb 100644 --- a/src/tools/pw-dump.c +++ b/src/tools/pw-dump.c @@ -1329,6 +1329,7 @@ static void registry_event_global(void *data, uint32_t id, spa_list_init(&o->param_list); spa_list_init(&o->pending_list); spa_list_init(&o->data_list); + spa_list_append(&d->object_list, &o->link); o->class = find_class(type, version); if (o->class != NULL) { @@ -1350,15 +1351,13 @@ static void registry_event_global(void *data, uint32_t id, } else { o->changed++; } - spa_list_append(&d->object_list, &o->link); core_sync(d); return; bind_failed: pw_log_error("can't bind object for %u %s/%d: %m", id, type, version); - pw_properties_free(o->props); - free(o); + object_destroy(o); return; }