From 0d7e5d513cd946a7393875f9f730fb0b54d2f1bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= Date: Tue, 14 Jun 2022 13:13:32 +0200 Subject: [PATCH] Assert on unknown isc_quota_attach() return values The only values that the isc_quota_attach() function (called from check_recursionquota() via recursionquotatype_attach_soft()) can currently return are: ISC_R_SUCCESS, ISC_R_SOFTQUOTA, and ISC_R_QUOTA. Instead of just propagating any other (unexpected) error up the call stack, assert immediately, so that if the isc_quota_* API gets updated in the future to return values currently matching the "default" statement, check_recursionquota() can be promptly updated to handle such new return values as desired. --- lib/ns/query.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ns/query.c b/lib/ns/query.c index 53e621c4db..8ce90668f5 100644 --- a/lib/ns/query.c +++ b/lib/ns/query.c @@ -6357,9 +6357,9 @@ check_recursionquota(ns_client_t *client, ns_query_rectype_t recursion_type) { "no more recursive clients (%u/%u/%u)", &client->manager->sctx->recursionquota); ns_client_killoldestquery(client); - FALLTHROUGH; - default: return (result); + default: + UNREACHABLE(); } dns_message_clonebuffer(client->message);