]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Getting the "prefetch" setting from the configuration cannot fail
authorAram Sargsyan <aram@isc.org>
Thu, 20 Oct 2022 10:38:50 +0000 (10:38 +0000)
committerAram Sargsyan <aram@isc.org>
Fri, 21 Oct 2022 10:30:56 +0000 (10:30 +0000)
The "prefetch" setting is in "defaultconf" so it cannot fail, use
INSIST to confirm that.

The 'trigger' and 'eligible' variables are now prefixed with
'prefetch_' and their declaration moved to an upper level, because
there is no more additional code block after this change.

(cherry picked from commit 0227565cf18e2c79b6bcc2710487a799545ac800)

bin/named/server.c

index b4cbd953a9f290764ff41cb2b5fdacce62f0df35..4aa2a3b4f4bd70d3d5cd5aedb9e09e9009f4fac7 100644 (file)
@@ -3952,6 +3952,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config,
        const cfg_obj_t *zonelist;
        const cfg_obj_t *dlzlist;
        const cfg_obj_t *dlz;
+       const cfg_obj_t *prefetch_trigger;
+       const cfg_obj_t *prefetch_eligible;
        unsigned int dlzargc;
        char **dlzargv;
        const cfg_obj_t *dyndb_list, *plugin_list;
@@ -5458,33 +5460,29 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config,
 
        obj = NULL;
        result = named_config_get(maps, "prefetch", &obj);
-       if (result == ISC_R_SUCCESS) {
-               const cfg_obj_t *trigger, *eligible;
-
-               trigger = cfg_tuple_get(obj, "trigger");
-               view->prefetch_trigger = cfg_obj_asuint32(trigger);
-               if (view->prefetch_trigger > 10) {
-                       view->prefetch_trigger = 10;
-               }
-               eligible = cfg_tuple_get(obj, "eligible");
-               if (cfg_obj_isvoid(eligible)) {
-                       int m;
-                       for (m = 1; maps[m] != NULL; m++) {
-                               obj = NULL;
-                               result = named_config_get(&maps[m], "prefetch",
-                                                         &obj);
-                               INSIST(result == ISC_R_SUCCESS);
-                               eligible = cfg_tuple_get(obj, "eligible");
-                               if (cfg_obj_isuint32(eligible)) {
-                                       break;
-                               }
+       INSIST(result == ISC_R_SUCCESS);
+       prefetch_trigger = cfg_tuple_get(obj, "trigger");
+       view->prefetch_trigger = cfg_obj_asuint32(prefetch_trigger);
+       if (view->prefetch_trigger > 10) {
+               view->prefetch_trigger = 10;
+       }
+       prefetch_eligible = cfg_tuple_get(obj, "eligible");
+       if (cfg_obj_isvoid(prefetch_eligible)) {
+               int m;
+               for (m = 1; maps[m] != NULL; m++) {
+                       obj = NULL;
+                       result = named_config_get(&maps[m], "prefetch", &obj);
+                       INSIST(result == ISC_R_SUCCESS);
+                       prefetch_eligible = cfg_tuple_get(obj, "eligible");
+                       if (cfg_obj_isuint32(prefetch_eligible)) {
+                               break;
                        }
-                       INSIST(cfg_obj_isuint32(eligible));
-               }
-               view->prefetch_eligible = cfg_obj_asuint32(eligible);
-               if (view->prefetch_eligible < view->prefetch_trigger + 6) {
-                       view->prefetch_eligible = view->prefetch_trigger + 6;
                }
+               INSIST(cfg_obj_isuint32(prefetch_eligible));
+       }
+       view->prefetch_eligible = cfg_obj_asuint32(prefetch_eligible);
+       if (view->prefetch_eligible < view->prefetch_trigger + 6) {
+               view->prefetch_eligible = view->prefetch_trigger + 6;
        }
 
        /*