]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: a little more RB_TREE paranoia
authordjm@openbsd.org <djm@openbsd.org>
Tue, 11 Jun 2024 01:23:25 +0000 (01:23 +0000)
committerDamien Miller <djm@mindrot.org>
Tue, 11 Jun 2024 01:26:53 +0000 (11:26 +1000)
OpenBSD-Commit-ID: 8dc2fd21eebd8830c4a4d25461ac4fe228e11156

srclimit.c

index 6b8af4fb1e778635b2ce3378e4c0d9829886f232..962af73f739037f846ceb8d2308787a4975848cd 100644 (file)
@@ -295,14 +295,14 @@ srclimit_remove_expired_penalties(void)
        while (npenalties > (size_t)penalty_cfg.max_sources) {
                if ((p = RB_MIN(penalties_by_expiry,
                    &penalties_by_expiry)) == NULL)
-                       break; /* shouldn't happen */
+                       fatal_f("internal error: penalty tables corrupt (find)");
                bits = p->addr.af == AF_INET ? ipv4_masklen : ipv6_masklen;
                addr_masklen_ntop(&p->addr, bits, s, sizeof(s));
                debug3_f("overflow, remove %s", s);
                if (RB_REMOVE(penalties_by_expiry,
                    &penalties_by_expiry, p) != p ||
                    RB_REMOVE(penalties_by_addr, &penalties_by_addr, p) != p)
-                       fatal_f("internal error: penalty tables corrupt");
+                       fatal_f("internal error: penalty tables corrupt (remove)");
                free(p);
                npenalties--;
        }