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",
/* we've found a match, but now check to see
if last_i can hint at a better match */
for (j++; j<s->count && targets[j].t == t; j++) {
- int i2 = targets[j].t;
+ int i2 = targets[j].i;
if (i2 == last_i + 1) {
if (sum != s->sums[i2].sum1) break;
if (memcmp(sum2,s->sums[i2].sum2,csum_length) != 0) break;