diff --git a/src/modules/module-protocol-pulse/module-loopback.c b/src/modules/module-protocol-pulse/module-loopback.c index be47ed12e..79d5a842c 100644 --- a/src/modules/module-protocol-pulse/module-loopback.c +++ b/src/modules/module-protocol-pulse/module-loopback.c @@ -210,11 +210,6 @@ static struct module *create_module_loopback(struct impl *impl, const char *argu struct spa_audio_info_raw info = { 0 }; int res; - if (argument == NULL) { - res = -EINVAL; - goto out; - } - props = pw_properties_new(NULL, NULL); capture_props = pw_properties_new(NULL, NULL); playback_props = pw_properties_new(NULL, NULL); @@ -222,7 +217,8 @@ static struct module *create_module_loopback(struct impl *impl, const char *argu res = -EINVAL; goto out; } - add_props(props, argument); + if (argument) + add_props(props, argument); /* The following modargs are not implemented: * adjust_time, max_latency_msec, fast_adjust_threshold_msec: these are just not relevant diff --git a/src/modules/module-protocol-pulse/module.c b/src/modules/module-protocol-pulse/module.c index 77f804c4f..58a874ad3 100644 --- a/src/modules/module-protocol-pulse/module.c +++ b/src/modules/module-protocol-pulse/module.c @@ -217,7 +217,7 @@ static struct module *create_module(struct client *client, const char *name, con return NULL; } module->name = strdup(name); - module->args = strdup(args); + module->args = args ? strdup(args) : NULL; module->idx |= MODULE_FLAG; return module; }