From 383e32f02f747538d5ecb0123f2af51ed0e5f21c Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Fri, 20 Mar 2015 15:58:55 +0000 Subject: [PATCH] Check before storing value. git-svn-id: file:///svn/unbound/trunk@3373 be551aaa-1e26-0410-a405-d3ace91eadb9 --- daemon/cachedump.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/daemon/cachedump.c b/daemon/cachedump.c index 2780397e7..6df1127f5 100644 --- a/daemon/cachedump.c +++ b/daemon/cachedump.c @@ -652,13 +652,13 @@ load_msg(SSL* ssl, sldns_buffer* buf, struct worker* worker) rep.ttl = (time_t)ttl; rep.prefetch_ttl = PREFETCH_TTL_CALC(rep.ttl); rep.security = (enum sec_status)security; - rep.an_numrrsets = (size_t)an; - rep.ns_numrrsets = (size_t)ns; - rep.ar_numrrsets = (size_t)ar; if(an > RR_COUNT_MAX || ns > RR_COUNT_MAX || ar > RR_COUNT_MAX) { log_warn("error too many rrsets"); return 0; /* protect against integer overflow in alloc */ } + rep.an_numrrsets = (size_t)an; + rep.ns_numrrsets = (size_t)ns; + rep.ar_numrrsets = (size_t)ar; rep.rrset_count = (size_t)an+(size_t)ns+(size_t)ar; rep.rrsets = (struct ub_packed_rrset_key**)regional_alloc_zero( region, sizeof(struct ub_packed_rrset_key*)*rep.rrset_count); -- 2.47.2