]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
modupd: fix heap-buffer-overflow for XDP access
authorDaniel Salzman <daniel.salzman@nic.cz>
Sat, 9 May 2020 07:31:41 +0000 (09:31 +0200)
committerDaniel Salzman <daniel.salzman@nic.cz>
Sat, 9 May 2020 07:31:41 +0000 (09:31 +0200)
src/knot/modules/noudp/noudp.c

index 891c4c044fa0213071428581c71ac36aca947cd6..d7fb5b09b0de5c2ccfe2fe5a943ba98682c5f361 100644 (file)
@@ -60,8 +60,9 @@ int noudp_load(knotd_mod_t *mod)
        ctx->rate = conf.single.integer;
        if (ctx->rate > 0) {
                knotd_conf_t udp = knotd_conf_env(mod, KNOTD_CONF_ENV_WORKERS_UDP);
+               knotd_conf_t tcp = knotd_conf_env(mod, KNOTD_CONF_ENV_WORKERS_TCP);
                knotd_conf_t xdp = knotd_conf_env(mod, KNOTD_CONF_ENV_WORKERS_XDP);
-               size_t workers = udp.single.integer + xdp.single.integer;
+               size_t workers = udp.single.integer + tcp.single.integer + xdp.single.integer;
                ctx->counters = calloc(workers, sizeof(uint32_t));
                if (ctx->counters == NULL) {
                        free(ctx);