> + for (range_i = ranges.nr; range_i > 0; --range_i) { > + const struct range *r = &ranges.ranges[range_i - 1]; > + long bottom = r->start; > + long top = r->end; > + struct blame_entry *next = ent; > + ent = xcalloc(1, sizeof(*ent)); > + ent->lno = bottom; > + ent->num_lines = top - bottom; > + ent->suspect = o; > + ent->s_lno = bottom; > + ent->next = next; > + if (next) > + next->prev = ent; > + origin_incref(o); > + } > + origin_decref(o); Hmph, I do not see where the need for this decref is coming from. Did we incref once too many somewhere? > + range_set_release(&ranges); > + string_list_clear(&range_list, 0); > > sb.ent = ent; > sb.path = path; -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html