mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-31 22:25:33 -04:00
fix ugly access-after-free bug when doing asyncronous NS lookups
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1004 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
8b0e6f6f66
commit
441362a50b
1 changed files with 10 additions and 8 deletions
|
|
@ -376,16 +376,18 @@ static void asyncns_cb(pa_mainloop_api*m, pa_io_event *e, int fd, PA_GCC_UNUSED
|
||||||
|
|
||||||
asyncns_freeaddrinfo(res);
|
asyncns_freeaddrinfo(res);
|
||||||
|
|
||||||
goto finish;
|
|
||||||
|
|
||||||
fail:
|
|
||||||
errno = EHOSTUNREACH;
|
|
||||||
do_call(c);
|
|
||||||
|
|
||||||
finish:
|
|
||||||
|
|
||||||
m->io_free(c->asyncns_io_event);
|
m->io_free(c->asyncns_io_event);
|
||||||
c->asyncns_io_event = NULL;
|
c->asyncns_io_event = NULL;
|
||||||
|
return;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
m->io_free(c->asyncns_io_event);
|
||||||
|
c->asyncns_io_event = NULL;
|
||||||
|
|
||||||
|
errno = EHOSTUNREACH;
|
||||||
|
do_call(c);
|
||||||
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue