Commit 496d9272 authored by Andrew Tridgell's avatar Andrew Tridgell

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 :)
parent 34d3eed4
......@@ -178,7 +178,7 @@ static void hash_search(int f,struct sum_struct *s,
for (; j<s->count && 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",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment