samba-bugs@samba.org
2004-Jun-19 09:22 UTC
[Bug 1467] New: Hash table generation seems to be flawed
https://bugzilla.samba.org/show_bug.cgi?id=1467 Summary: Hash table generation seems to be flawed Product: rsync Version: 2.6.0 Platform: All OS/Version: Linux Status: NEW Severity: normal Priority: P3 Component: core AssignedTo: wayned@samba.org ReportedBy: ripper@internode.on.net QAContact: rsync-qa@samba.org The following code is used to generate the hash table for matching. I believe there is a line missing that might lead to certain blocks being transmitted unnecessarily over the network. static void build_hash_table(struct sum_struct *s) { int i; if (!tag_table) tag_table = new_array(int, TABLESIZE); targets = new_array(struct target, s->count); if (!tag_table || !targets) out_of_memory("build_hash_table"); for (i = 0; i < (int)s->count; i++) { targets[i].i = i; targets[i].t = gettag(s->sums[i].sum1); } qsort(targets,s->count,sizeof(targets[0]),(int (*)())compare_targets); for (i = 0; i < TABLESIZE; i++) tag_table[i] = NULL_TAG; for (i = s->count-1; i >= 0; i--) // ************** THE FOLLOWING LINE WAS MISSING ********** if(tag_table[targets[i].t] == NULL_TAG || i < tag_table[targets [i].t]) tag_table[targets[i].t] = i; -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact.