diff --git a/lib/zonecut.c b/lib/zonecut.c index 3cfef50481beec826f92d9edb9937f0f4a8fb183..143336fef3162b35c0e992eaec04d422d404026c 100644 --- a/lib/zonecut.c +++ b/lib/zonecut.c @@ -254,12 +254,12 @@ int kr_zonecut_find_cached(struct kr_context *ctx, struct kr_zonecut *cut, const /* Start at QNAME parent. */ name = knot_wire_next_label(name, NULL); - while (txn) { + while (txn && name) { if (fetch_ns(ctx, cut, name, txn, timestamp) == 0) { update_cut_name(cut, name); return kr_ok(); } - if (name[0] == '\0') { + if (!name || !name[0]) { break; } /* Subtract label from QNAME. */