i18n: do not leak 'encoding' header even when we cheat the conversion.

We special case the case where encoding recorded in the commit
and the output encoding are the same and do not call iconv().
But we should drop 'encoding' header for this case as well for
consistency.

Signed-off-by: Junio C Hamano <junkio@cox.net>
diff --git a/commit.c b/commit.c
index afdf27e..544e426 100644
--- a/commit.c
+++ b/commit.c
@@ -679,11 +679,13 @@
 	else if (!*output_encoding)
 		return NULL;
 	encoding = get_header(commit, "encoding");
-	if (!encoding || !strcmp(encoding, output_encoding)) {
-		free(encoding);
+	if (!encoding)
 		return NULL;
-	}
-	out = reencode_string(commit->buffer, output_encoding, encoding);
+	if (!strcmp(encoding, output_encoding))
+		out = strdup(commit->buffer);
+	else
+		out = reencode_string(commit->buffer,
+				      output_encoding, encoding);
 	if (out)
 		out = replace_encoding_header(out, output_encoding);