From c6b5767c8acdff0d223c784b3a3f9ed33cecda3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= Date: Wed, 6 May 2026 21:49:52 +0200 Subject: [PATCH] spa: alsa: pcm: spa_alsa_clear(): clear pointers Use `spa_clear_ptr()` to ensure that all freed pointers are cleared. --- spa/plugins/alsa/alsa-pcm.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c index 04abd7fcd..5229b979e 100644 --- a/spa/plugins/alsa/alsa-pcm.c +++ b/spa/plugins/alsa/alsa-pcm.c @@ -1098,12 +1098,8 @@ int spa_alsa_clear(struct state *state) state->card = NULL; state->card_index = SPA_ID_INVALID; - if ((err = snd_output_close(state->output)) < 0) - spa_log_warn(state->log, "output close failed: %s", snd_strerror(err)); - fclose(state->log_file); - - free(state->tag[0]); - free(state->tag[1]); + spa_clear_ptr(state->tag[0], free); + spa_clear_ptr(state->tag[1], free); if (state->ctl) { for (int i = 0; i < state->ctl_n_fds; i++) { @@ -1125,6 +1121,10 @@ int spa_alsa_clear(struct state *state) } } + if ((err = snd_output_close(state->output)) < 0) + spa_log_warn(state->log, "output close failed: %s", snd_strerror(err)); + spa_clear_ptr(state->log_file, fclose); + spa_clear_ptr(state->alsa_chmap, free); return err;