From: Wouter Wijngaards Date: Wed, 14 Jul 2010 11:13:30 +0000 (+0000) Subject: - Fix integer underflow in prefetch ttl creation from cache. This X-Git-Tag: release-1.4.6rc1~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45f74a1497aa3582fee25050439e4ecc4004791c;p=thirdparty%2Funbound.git - Fix integer underflow in prefetch ttl creation from cache. This fixes a potential negative prefetch ttl. -This line, and those below, will be ignored-- M trunk/services/cache/dns.c M trunk/doc/Changelog git-svn-id: file:///svn/unbound/trunk@2198 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/doc/Changelog b/doc/Changelog index 71e56f975..b1a1b7557 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,5 +1,7 @@ 14 July 2010: Wouter - Donation text added to README. + - Fix integer underflow in prefetch ttl creation from cache. This + fixes a potential negative prefetch ttl. 12 July 2010: Wouter - Changed the defaults for num-queries-per-thread/outgoing-range. diff --git a/services/cache/dns.c b/services/cache/dns.c index 81e2f74e8..786ed6ae7 100644 --- a/services/cache/dns.c +++ b/services/cache/dns.c @@ -430,9 +430,9 @@ tomsg(struct module_env* env, struct msgreply_entry* e, struct reply_info* r, msg->rep->flags = r->flags; msg->rep->qdcount = r->qdcount; msg->rep->ttl = r->ttl - now; - if(r->prefetch_ttl - now > 0) + if(r->prefetch_ttl > now) msg->rep->prefetch_ttl = r->prefetch_ttl - now; - else msg->rep->prefetch_ttl = PREFETCH_TTL_CALC(r->prefetch_ttl); + else msg->rep->prefetch_ttl = PREFETCH_TTL_CALC(msg->rep->ttl); msg->rep->security = r->security; msg->rep->an_numrrsets = r->an_numrrsets; msg->rep->ns_numrrsets = r->ns_numrrsets;