On Mon, Jan 20, 2014 at 08:20:40PM +0400, Kirill Smelkov wrote: [...] > @@ -1343,6 +1374,26 @@ void diff_tree_combined(const unsigned char *sha1, > if (p->len) > num_paths++; > } > + > + /* order paths according to diffcore_order */ > + if (opt->orderfile && num_paths) { > + struct obj_order *o; > + > + o = xmalloc(sizeof(*o) * num_paths); > + for (i = 0, p = paths; p; p = p->next, i++) > + o[i].obj = p; > + order_objects(opt->orderfile, path_path, o, num_paths); > + for (i = 0; i < num_paths - 1; i++) { > + p = o[i].obj; > + p->next = o[i+1].obj; > + } > + > + p = o[num_paths-1].obj; > + p->next = NULL; > + paths = o[0].obj; > + } I found I've introduced memory leak here (malloc without free). Please apply the fix. Thanks, Kirill. ---- 8< ---- From: Kirill Smelkov <kirr@xxxxxxxxxx> Date: Tue, 28 Jan 2014 19:39:16 +0400 Subject: [PATCH] fixup! combine-diff: Optimize combine_diff_path sets intersection Plug a memory leak. --- combine-diff.c | 1 + 1 file changed, 1 insertion(+) diff --git a/combine-diff.c b/combine-diff.c index 07faa96..2d79312 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -1383,6 +1383,7 @@ void diff_tree_combined(const unsigned char *sha1, p = o[num_paths-1].obj; p->next = NULL; paths = o[0].obj; + free(o); } -- 1.9.rc1.181.g641f458 -- 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