grep: fix leaking grep pattern
When creating a pattern via `create_grep_pat()` we allocate the pattern member of the structure regardless of the token type. But later, when we try to free the structure, we free the pattern member conditionally on the token type and thus leak memory. Plug this leak. The leak is exposed by t7814, but plugging it alone does not make the whole test suite pass. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Patrick Steinhardt committed
Sep 26, 2024 at 13:46 UTC
6d82437a470fc7797e41f5a7ac4874914db7cdb8
1 file changed
+1
-1
grep.c
+1
-1
@@ -843,11 +843,11 @@ static void free_grep_pat(struct grep_pat *pattern)
843
free_pcre2_pattern(p);
844
else
845
regfree(&p->regexp);
846
- free(p->pattern);
846
break;
847
default:
848
break;
849
}
850
+ free(p->pattern);
851
free(p);
852
}
853
}