From: Jan Hak Date: Fri, 8 Jan 2021 13:00:17 +0000 (+0100) Subject: zone-update: sanitize freed pointers to avoid possible double free X-Git-Tag: v3.1.0~264^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7beeae41698e0ae0bc05ab79568637622cff5bce;p=thirdparty%2Fknot-dns.git zone-update: sanitize freed pointers to avoid possible double free --- diff --git a/src/knot/updates/zone-update.c b/src/knot/updates/zone-update.c index b18aaac34d..2408bb6c87 100644 --- a/src/knot/updates/zone-update.c +++ b/src/knot/updates/zone-update.c @@ -244,6 +244,7 @@ int zone_update_from_contents(zone_update_t *update, zone_t *zone_without_conten int ret = changeset_init(&update->change, zone_without_contents->name); if (ret != KNOT_EOK) { free(update->a_ctx); + update->a_ctx = NULL; knot_sem_post(&update->zone->cow_lock); return ret; } @@ -252,6 +253,7 @@ int zone_update_from_contents(zone_update_t *update, zone_t *zone_without_conten if (update->change.soa_from == NULL) { changeset_clear(&update->change); free(update->a_ctx); + update->a_ctx = NULL; knot_sem_post(&update->zone->cow_lock); return KNOT_ENOMEM; } @@ -262,6 +264,7 @@ int zone_update_from_contents(zone_update_t *update, zone_t *zone_without_conten if (ret != KNOT_EOK) { changeset_clear(&update->change); free(update->a_ctx); + update->a_ctx = NULL; knot_sem_post(&update->zone->cow_lock); return ret; }