From: Yu Watanabe Date: Thu, 12 Jul 2018 03:57:52 +0000 (+0900) Subject: resolve: unref stream after completion processes X-Git-Tag: v240~985^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=18df5fb017afb0be1b2cf570ab9641f2b0fc5fab;p=thirdparty%2Fsystemd.git resolve: unref stream after completion processes Fixes #9511. --- diff --git a/src/resolve/resolved-dns-transaction.c b/src/resolve/resolved-dns-transaction.c index 36f9609b664..89d311811a7 100644 --- a/src/resolve/resolved-dns-transaction.c +++ b/src/resolve/resolved-dns-transaction.c @@ -518,12 +518,13 @@ static int on_stream_connection(DnsStream *s) { } static int on_stream_complete(DnsStream *s, int error) { + _cleanup_(dns_stream_unrefp) DnsStream *p = NULL; DnsTransaction *t, *n; int r = 0; /* Do not let new transactions use this stream */ if (s->server && s->server->stream == s) - s->server->stream = dns_stream_unref(s->server->stream); + p = TAKE_PTR(s->server->stream); if (ERRNO_IS_DISCONNECT(error) && s->protocol != DNS_PROTOCOL_LLMNR) { usec_t usec;