From: Michał Kępień Date: Tue, 14 Jun 2022 11:13:32 +0000 (+0200) Subject: Assert on unknown isc_quota_attach() return values X-Git-Tag: v9.19.3~46^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0d7e5d513cd946a7393875f9f730fb0b54d2f1bf;p=thirdparty%2Fbind9.git 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. --- diff --git a/lib/ns/query.c b/lib/ns/query.c index 53e621c4dbc..8ce90668f59 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);