}
while (journal_read_rrset(ctx, &rr, false)) {
if (rr_is_apex_soa(&rr, ctx->zone)) {
+ if (ch->soa_from != NULL) {
+ ctx->txn.ret = KNOT_EMALF;
+ goto fail;
+ }
ch->soa_from = soa;
ch->remove = tree;
soa = malloc(sizeof(*soa));
void journal_try_flush(zone_journal_t j, knot_lmdb_txn_t *txn, journal_metadata_t *md)
{
bool flush = journal_allow_flush(j);
- uint32_t merge_orig;
+ uint32_t merge_orig = 0;
if (journal_contains(txn, true, 0, j.zone)) {
journal_merge(j, txn, true, 0, &merge_orig);
if (!flush) {
va_end(arg);
// second, alloc the key and fill it
- key.mv_data = malloc(key.mv_size);
+ if (key.mv_size > 0) {
+ key.mv_data = malloc(key.mv_size);
+ }
if (key.mv_data == NULL) {
return key;
}