From a4582202a84ce62c35e7db597cf0e9417d39227d Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 25 Jul 2026 17:58:51 +0300 Subject: [PATCH] =?UTF-8?q?merkle=5Fsync:=20fix=20range=5Fend=20formula=20?= =?UTF-8?q?=E2=80=94=20cover=20all=20parent+child=20bucket=20bits?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/chatgui/transport/merkle_sync.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/chatgui/transport/merkle_sync.c b/tools/chatgui/transport/merkle_sync.c index 00af4c84..f4516d7d 100644 --- a/tools/chatgui/transport/merkle_sync.c +++ b/tools/chatgui/transport/merkle_sync.c @@ -169,7 +169,7 @@ static int _get_level_hashes(struct merkle_sync* ms, const char* ns, sqlite3* db = _db(ms->inst); if (!db) return -1; int parent_shift = 63 - (int)level * 5; if (parent_shift < 0) parent_shift = 0; int next_shift = 63 - ((int)level + 1) * 5; if (next_shift < 0) next_shift = 0; - uint64_t range_end = prefix | ((1ULL << parent_shift) - 1); + uint64_t range_end = prefix | (0x1FULL << parent_shift) | (0x1FULL << (next_shift > 0 ? next_shift : 0)); sqlite3_stmt* stmt = NULL; if (sqlite3_prepare_v2(db,