diff options
| author | Patrick Steinhardt <ps@pks.im> | 2024-06-11 11:19:22 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-06-11 13:15:04 -0700 |
| commit | 14da26230a7644a2f9dfbc3f43d9d7ab6e0074e9 (patch) | |
| tree | 600341b6864236888a6508a79bf46e97436ded8b /builtin/log.c | |
| parent | revision: fix memory leak when reversing revisions (diff) | |
| download | git-14da26230a7644a2f9dfbc3f43d9d7ab6e0074e9.tar.gz git-14da26230a7644a2f9dfbc3f43d9d7ab6e0074e9.zip | |
parse-options: fix leaks for users of OPT_FILENAME
The `OPT_FILENAME()` option will, if set, put an allocated string into
the user-provided variable. Consequently, that variable thus needs to be
free'd by the caller of `parse_options()`. Some callsites don't though
and thus leak memory. Fix those.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/log.c')
| -rw-r--r-- | builtin/log.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/builtin/log.c b/builtin/log.c index 78a247d8a9..4e4b645a21 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -2021,7 +2021,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) const char *rfc = NULL; int creation_factor = -1; const char *signature = git_version_string; - const char *signature_file_arg = NULL; + char *signature_file_arg = NULL; struct keep_callback_data keep_callback_data = { .cfg = &cfg, .revs = &rev, @@ -2559,6 +2559,8 @@ done: strbuf_release(&rdiff1); strbuf_release(&rdiff2); strbuf_release(&rdiff_title); + free(description_file); + free(signature_file_arg); free(to_free); free(rev.message_id); if (rev.ref_message_ids) |
