From 4d5c6462863c4210615c27b8e34b59460b221237 Mon Sep 17 00:00:00 2001 From: Grigorii Demidov Date: Mon, 3 Apr 2017 13:19:15 +0200 Subject: [PATCH] layer/iterate: treat rrset->additional as pointer to uint8_t instead of uintptr_t --- lib/layer/iterate.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/layer/iterate.c b/lib/layer/iterate.c index 0796b41a6..bfddbb232 100644 --- a/lib/layer/iterate.c +++ b/lib/layer/iterate.c @@ -296,10 +296,11 @@ static inline uint8_t get_initial_rank(const knot_rrset_t *rr, const struct kr_query *qry, bool answer) { const uint32_t qflags = qry->flags; - uintptr_t rank = (uintptr_t)rr->additional; - assert((((qflags & QUERY_CACHED) == 0) && (rr->additional == NULL)) || - (rank <= KR_RANK_SECURE)); - if (((qflags & QUERY_CACHED) == 0) && answer) { + uint8_t rank = 0; + if (qflags & QUERY_CACHED) { + assert(rr->additional); + rank = *(uint8_t *)rr->additional; + } else if (answer) { rank |= KR_RANK_AUTH; } return (uint8_t)rank; -- 2.47.3