diff --git a/src/ctl/ctl-sink.c b/src/ctl/ctl-sink.c index aeb59bf..a613434 100644 --- a/src/ctl/ctl-sink.c +++ b/src/ctl/ctl-sink.c @@ -566,7 +566,8 @@ void ctl_sink_free(struct ctl_sink *s) free(s->session); free(s->url); sd_event_unref(s->event); - g_hash_table_destroy(s->protocol_extensions); + if (s->protocol_extensions) + g_hash_table_destroy(s->protocol_extensions); free(s); } diff --git a/src/ctl/sinkctl.c b/src/ctl/sinkctl.c index 93a1bc9..e2167de 100644 --- a/src/ctl/sinkctl.c +++ b/src/ctl/sinkctl.c @@ -764,7 +764,9 @@ static int ctl_interactive(char **argv, int argc) goto error; sink->protocol_extensions = protocol_extensions; - ctl_wifi_fetch(wifi); + r = ctl_wifi_fetch(wifi); + if (r < 0) + goto error; if (argc > 0) { r = cli_do(cli_cmds, argv, argc);