]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
onlinesign: fixed minor resourceleak
authorLibor Peltan <libor.peltan@nic.cz>
Wed, 17 Jan 2018 13:53:20 +0000 (14:53 +0100)
committerDaniel Salzman <daniel.salzman@nic.cz>
Fri, 2 Feb 2018 09:19:55 +0000 (10:19 +0100)
src/knot/modules/onlinesign/onlinesign.c

index 0a11252d2fb6f30d2791215cd4a666aea61ed4a8..bd6822fa5353e067667ff0ed7f1600e5d0c62d75 100644 (file)
@@ -640,6 +640,7 @@ static int online_sign_ctx_new(online_sign_ctx_t **ctx_ptr, knotd_mod_t *mod)
 
        int ret = kdnssec_ctx_init(mod->config, &ctx->kctx, mod->zone, mod->id);
        if (ret != KNOT_EOK) {
+               free(ctx);
                return ret;
        }
 
@@ -652,6 +653,7 @@ static int online_sign_ctx_new(online_sign_ctx_t **ctx_ptr, knotd_mod_t *mod)
        ret = knot_dnssec_key_rollover(&ctx->kctx, &resch);
        if (ret != KNOT_EOK) {
                kdnssec_ctx_deinit(&ctx->kctx);
+               free(ctx);
                return ret;
        }
 
@@ -663,6 +665,7 @@ static int online_sign_ctx_new(online_sign_ctx_t **ctx_ptr, knotd_mod_t *mod)
        ret = load_zone_keys(&ctx->kctx, &ctx->keyset, true);
        if (ret != KNOT_EOK) {
                kdnssec_ctx_deinit(&ctx->kctx);
+               free(ctx);
                return ret;
        }