spa: alsa: pcm: spa_alsa_clear(): clear pointers

Use `spa_clear_ptr()` to ensure that all freed pointers are cleared.
This commit is contained in:
Barnabás Pőcze 2026-05-06 21:49:52 +02:00 committed by Wim Taymans
parent bf57911b83
commit c6b5767c8a

View file

@ -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;