diff --git a/src/knot/zone/timers.c b/src/knot/zone/timers.c index 63c9ce1d1e16a3fc25645239b1ab5dbcff6c9065..505232b02b46c9e874e164e636e96afdfeef7b38 100644 --- a/src/knot/zone/timers.c +++ b/src/knot/zone/timers.c @@ -90,18 +90,16 @@ static int read_timers(knot_txn_t *txn, const zone_t *zone, time_t *timers) knot_val_t key = { .len = knot_dname_size(zone->name), .data = zone->name }; knot_val_t val; + int ret = db_api->find(txn, &key, &val, 0); - if (ret != KNOT_EOK) { - if (ret == KNOT_ENOENT) { - // New zone, no entry in db. - memset(timers, 0, ZONE_EVENT_COUNT * sizeof(time_t)); - return KNOT_EOK; - } + if (ret != KNOT_EOK && ret != KNOT_ENOENT) { return ret; } - // Set unknown/unset event timers to 0. memset(timers, 0, ZONE_EVENT_COUNT * sizeof(time_t)); + if (ret == KNOT_ENOENT) { + return KNOT_EOK; + } const size_t stored_event_count = val.len / EVENT_KEY_PAIR_SIZE; size_t offset = 0;