diff --git a/src/modules/spa/module-device-factory.c b/src/modules/spa/module-device-factory.c index 17842a1e1..a2fd55714 100644 --- a/src/modules/spa/module-device-factory.c +++ b/src/modules/spa/module-device-factory.c @@ -166,7 +166,7 @@ error_properties: if (resource) pw_resource_errorf_id(resource, new_id, res, "usage: "FACTORY_USAGE); - goto error_exit; + goto error_exit_cleanup; error_device: pw_log_debug("can't create device %s: %s", factory_name, spa_strerror(res)); if (resource) @@ -178,6 +178,10 @@ error_bind: pw_resource_errorf_id(resource, new_id, res, "can't bind device"); pw_impl_device_destroy(device); goto error_exit; + +error_exit_cleanup: + if (properties) + pw_properties_free(properties); error_exit: free(factory_name); errno = -res;