From 441362a50b8c7e190b98066198555832a95ef064 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 2 Jun 2006 21:06:38 +0000 Subject: [PATCH] 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 --- src/polypcore/socket-client.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/polypcore/socket-client.c b/src/polypcore/socket-client.c index fd840ab5b..efb6de9a9 100644 --- a/src/polypcore/socket-client.c +++ b/src/polypcore/socket-client.c @@ -376,16 +376,18 @@ static void asyncns_cb(pa_mainloop_api*m, pa_io_event *e, int fd, PA_GCC_UNUSED asyncns_freeaddrinfo(res); - goto finish; - -fail: - errno = EHOSTUNREACH; - do_call(c); - -finish: - m->io_free(c->asyncns_io_event); 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