From 496d9272c1b3094e4a1c31273af5401bac1720c0 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 5 Jan 1999 06:31:58 +0000 Subject: [PATCH] don't try to match checksums of two blocks which are of unequal size. This explains the high false_alarms rate that I saw for one of the sample data files used in my thesis. The bug was harmless as the strong checksum easily caught all the false matches but it's been bugging me as I couldn't explain it :) --- match.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/match.c b/match.c index c231c2ac..613eaec8 100644 --- a/match.c +++ b/match.c @@ -178,7 +178,7 @@ static void hash_search(int f,struct sum_struct *s, for (; jcount && targets[j].t == t; j++) { int i = targets[j].i; - if (sum != s->sums[i].sum1) continue; + if (sum != s->sums[i].sum1 || s->sums[i].len > (len-offset)) continue; if (verbose > 3) rprintf(FINFO,"potential match at %d target=%d %d sum=%08x\n", -- 2.34.1