From 867fc7f31010f668e18caa3e0825a36c308d3e3b Mon Sep 17 00:00:00 2001 From: Hans Jerry Illikainen Date: Wed, 27 Nov 2019 20:24:11 +0000 Subject: [PATCH] grep: don't return an expression from pcre2_free() Previously, the void pcre2_free() function in grep.c returned free(). While free() itself is void, afaict it's still an expression as per section A.2.3, subsection 6.8.6 (jump-statement) in both C99 [1] and C11 [2]: > return expression Section 6.8.6.4 in C99 [1] and C11 [2] says that: > A return statement with an expression shall not appear in a function > whose return type is void. The consequence of the old behavior was that developer builds with pedantic errors enabled broke Git if PCRE2 was enabled and a smart-enough compiler to detect these errors was used. This commit fixes pedantic builds of Git that enables --with-libpcre. [1] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf [2] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf Signed-off-by: Hans Jerry Illikainen Signed-off-by: Junio C Hamano --- grep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grep.c b/grep.c index b7ae5a442a6..0552b127c1a 100644 --- a/grep.c +++ b/grep.c @@ -26,7 +26,7 @@ static void *pcre2_malloc(PCRE2_SIZE size, MAYBE_UNUSED void *memory_data) static void pcre2_free(void *pointer, MAYBE_UNUSED void *memory_data) { - return free(pointer); + free(pointer); } #endif