mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-31 22:25:33 -04:00
Fix: Prevent calling pa_rtpoll_free() for a NULL rtpoll
Flushing the asyncmsgq can cause arbitrarily callbacks to run, potentially causing recursion into pa_thread_mq_done again. Because of this; rtpoll which is cleared in the second iteration is tried to free once again by the first iteration leading to PA crash.
This commit is contained in:
parent
498689926f
commit
ff329cdabb
1 changed files with 1 additions and 1 deletions
|
|
@ -1575,9 +1575,9 @@ static void stop_thread(struct userdata *u) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (u->rtpoll) {
|
if (u->rtpoll) {
|
||||||
pa_thread_mq_done(&u->thread_mq);
|
|
||||||
pa_rtpoll_free(u->rtpoll);
|
pa_rtpoll_free(u->rtpoll);
|
||||||
u->rtpoll = NULL;
|
u->rtpoll = NULL;
|
||||||
|
pa_thread_mq_done(&u->thread_mq);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (u->transport) {
|
if (u->transport) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue