From 71ec8193b2caa69950ab6e76b5f485800f57391d Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Mon, 18 Jun 2018 11:43:42 +0200 Subject: [PATCH] gossip: Avoid integer count overflow in gossip_store Signed-off-by: Christian Decker --- gossipd/gossip_store.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gossipd/gossip_store.c b/gossipd/gossip_store.c index 22c8532a4..0064f93ec 100644 --- a/gossipd/gossip_store.c +++ b/gossipd/gossip_store.c @@ -16,7 +16,6 @@ #define GOSSIP_STORE_FILENAME "gossip_store" #define GOSSIP_STORE_TEMP_FILENAME "gossip_store.tmp" -#define MAX_COUNT_TO_STALE_RATE 10 static u8 gossip_store_version = 0x02; struct gossip_store { @@ -219,8 +218,6 @@ disable: void gossip_store_add(struct gossip_store *gs, const u8 *gossip_msg) { - size_t stale; - /* Only give error message once. */ if (gs->fd == -1) return; @@ -232,8 +229,7 @@ void gossip_store_add(struct gossip_store *gs, const u8 *gossip_msg) } gs->count++; - stale = gs->count - gs->broadcast->count; - if (gs->count >= 100 && stale * MAX_COUNT_TO_STALE_RATE > gs->count && + if (gs->count >= 1000 && gs->count > gs->broadcast->count * 1.25 && !gs->disable_compaction) gossip_store_compact(gs); }