]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
utils/kr_cache_gc: skip invalid entries during iteration
authorTomas Krizek <tomas.krizek@nic.cz>
Wed, 15 May 2019 16:04:58 +0000 (18:04 +0200)
committerPetr Špaček <petr.spacek@nic.cz>
Wed, 10 Jul 2019 13:59:21 +0000 (15:59 +0200)
utils/kr_cache_gc/db.c

index c90e106b9986065183e8debb9b1ba0a3d704e12f..646dfb7775b2bafe7eedfc76852b53d6c7b53129 100644 (file)
@@ -157,12 +157,14 @@ int kr_gc_cache_iter(knot_db_t *knot_db, kr_gc_iter_callback callback, void *ctx
                if (entry_type != NULL) {
                        struct entry_h *entry = entry_h_consistent(val, *entry_type);
 
-                       info.rrtype = *entry_type;
-                       info.entry_size = key.len + val.len;
-                       info.expires_in = entry->time + entry->ttl - now;
-                       info.no_labels = entry_labels(&key);
+                       if (entry != NULL) {
+                               info.rrtype = *entry_type;
+                               info.entry_size = key.len + val.len;
+                               info.expires_in = entry->time + entry->ttl - now;
+                               info.no_labels = entry_labels(&key);
 
-                       ret = callback(&key, &info, ctx);
+                               ret = callback(&key, &info, ctx);
+                       }
                }
 
                if (ret != KNOT_EOK) {