From 45f74a1497aa3582fee25050439e4ecc4004791c Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Wed, 14 Jul 2010 11:13:30 +0000 Subject: [PATCH] - 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 --- doc/Changelog | 2 ++ services/cache/dns.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) 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; -- 2.47.2