From: Ævar Arnfjörð Bjarmason Date: Sun, 6 Nov 2011 12:06:23 +0000 (+0100) Subject: cast variable in call to free() in builtin/diff.c and submodule.c X-Git-Tag: v1.7.7.5~1^2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=83838d5c1b8ca2efee52184136776c3cf7d5df2f;p=git.git cast variable in call to free() in builtin/diff.c and submodule.c Both of these free() calls are freeing a "const unsigned char (*)[20]" type while free() expects a "void *". This results in the following warning under clang 2.9: builtin/diff.c:185:7: warning: passing 'const unsigned char (*)[20]' to parameter of type 'void *' discards qualifiers free(parent); ^~~~~~ submodule.c:394:7: warning: passing 'const unsigned char (*)[20]' to parameter of type 'void *' discards qualifiers free(parents); ^~~~~~~ This free()-ing without a cast was added by Jim Meyering to builtin/diff.c in v1.7.6-rc3~4 and later by Fredrik Gustafsson in submodule.c in v1.7.7-rc1~25^2. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- diff --git a/builtin/diff.c b/builtin/diff.c index 1118689fb..0fe638fc4 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -182,7 +182,7 @@ static int builtin_diff_combined(struct rev_info *revs, hashcpy((unsigned char *)(parent + i), ent[i].item->sha1); diff_tree_combined(parent[0], parent + 1, ents - 1, revs->dense_combined_merges, revs); - free(parent); + free((void *)parent); return 0; } diff --git a/submodule.c b/submodule.c index ad86534ba..09181ff6e 100644 --- a/submodule.c +++ b/submodule.c @@ -385,7 +385,7 @@ static void commit_need_pushing(struct commit *commit, struct commit_list *paren rev.diffopt.format_callback_data = needs_pushing; diff_tree_combined(commit->object.sha1, parents, n, 1, &rev); - free(parents); + free((void *)parents); } int check_submodule_needs_pushing(unsigned char new_sha1[20], const char *remotes_name)