]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Aggregator: fixed route source unlocking on shutdown and withdraw
authorMaria Matejka <mq@ucw.cz>
Wed, 1 Nov 2023 13:30:46 +0000 (14:30 +0100)
committerMaria Matejka <mq@ucw.cz>
Wed, 1 Nov 2023 16:25:29 +0000 (17:25 +0100)
proto/aggregator/aggregator.c

index 03d7bbf9b8ac7515ec7093be1046b3631fa7e509..b7b565178e6bfbd23523fc24d5abe149f02525d0 100644 (file)
@@ -75,6 +75,7 @@ aggregator_bucket_update(struct aggregator_proto *p, struct aggregator_bucket *b
   if (!bucket->rte)
   {
     rte_update2(p->dst, net->n.addr, NULL, bucket->last_src);
+    rt_unlock_source(bucket->last_src);
     bucket->last_src = NULL;
     return;
   }
@@ -412,6 +413,9 @@ aggregator_shutdown(struct proto *P)
       sl_free(arte);
     }
 
+    if (b->last_src)
+      rt_unlock_source(b->last_src);
+
     ASSERT_DIE(b->count == 0);
     HASH_REMOVE(p->buckets, AGGR_BUCK, b);
     sl_free(b);