]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Fix while(read()) for RPKI sync callback
authorDonatas Abraitis <donatas@opensourcerouting.org>
Fri, 4 Mar 2022 21:36:34 +0000 (23:36 +0200)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Sat, 5 Mar 2022 10:06:17 +0000 (12:06 +0200)
Bad formatting applied and it worked with small amount of prefixes (lurking).

With full BGP feed and full RPKI table, this causes infinity loop.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgp_rpki.c

index bd5a5b1ffaa8f7f464ae59d5ecb996f5ff16bae4..0a51269d9b53697667e6d315e2155483ac2dac07 100644 (file)
@@ -369,7 +369,7 @@ static int bgpd_sync_callback(struct thread *thread)
        thread_add_read(bm->master, bgpd_sync_callback, NULL, socket, &t_rpki);
 
        if (atomic_load_explicit(&rtr_update_overflow, memory_order_seq_cst)) {
-               while (read(socket, &rec, sizeof(struct pfx_record) != -1))
+               while (read(socket, &rec, sizeof(struct pfx_record)) != -1)
                        ;
 
                atomic_store_explicit(&rtr_update_overflow, 0,