diff --git a/src/modules/module-client-device.c b/src/modules/module-client-device.c index fc6427130..682540501 100644 --- a/src/modules/module-client-device.c +++ b/src/modules/module-client-device.c @@ -75,9 +75,15 @@ static void *create_object(void *_data, struct pw_impl_factory *this = data->this; void *result; struct pw_resource *device_resource; - struct pw_impl_client *client = pw_resource_get_client(resource); + struct pw_impl_client *client; int res; + if (resource == NULL) { + res = -EINVAL; + goto error_exit; + } + + client = pw_resource_get_client(resource); device_resource = pw_resource_new(client, new_id, PW_PERM_ALL, type, version, 0); if (device_resource == NULL) { res = -errno; diff --git a/src/modules/module-client-node.c b/src/modules/module-client-node.c index b057194cd..9e7205601 100644 --- a/src/modules/module-client-node.c +++ b/src/modules/module-client-node.c @@ -77,9 +77,15 @@ static void *create_object(void *_data, { void *result; struct pw_resource *node_resource; - struct pw_impl_client *client = pw_resource_get_client(resource); + struct pw_impl_client *client; int res; + if (resource == NULL) { + res = -EINVAL; + goto error_exit; + } + + client = pw_resource_get_client(resource); node_resource = pw_resource_new(client, new_id, PW_PERM_ALL, type, version, 0); if (node_resource == NULL) { res = -errno;