From: Lennart Poettering Date: Fri, 6 Nov 2020 17:08:38 +0000 (+0100) Subject: resolved: fix non-initialized memory access X-Git-Tag: v247-rc2~20 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=eaa269484b3ea3f721d825b6003cc625787007b3;p=thirdparty%2Fsystemd.git resolved: fix non-initialized memory access Fix for bug introduced in 1ed314087fab3988f3221b1b736a7e711f174349. --- diff --git a/src/resolve/resolved-dns-cache.c b/src/resolve/resolved-dns-cache.c index 2c243811718..ccc59140461 100644 --- a/src/resolve/resolved-dns-cache.c +++ b/src/resolve/resolved-dns-cache.c @@ -531,9 +531,6 @@ static int dns_cache_put_negative( .type = rcode == DNS_RCODE_SUCCESS ? DNS_CACHE_NODATA : rcode == DNS_RCODE_NXDOMAIN ? DNS_CACHE_NXDOMAIN : DNS_CACHE_RCODE, - .until = - i->type == DNS_CACHE_RCODE ? timestamp + CACHE_TTL_STRANGE_RCODE_USEC : - calculate_until(soa, nsec_ttl, timestamp, true), .authenticated = authenticated, .owner_family = owner_family, .owner_address = *owner_address, @@ -541,6 +538,10 @@ static int dns_cache_put_negative( .rcode = rcode, }; + i->until = + i->type == DNS_CACHE_RCODE ? timestamp + CACHE_TTL_STRANGE_RCODE_USEC : + calculate_until(soa, nsec_ttl, timestamp, true); + if (i->type == DNS_CACHE_NXDOMAIN) { /* NXDOMAIN entries should apply equally to all types, so we use ANY as * a pseudo type for this purpose here. */