diff options
| author | Patrick Steinhardt <ps@pks.im> | 2024-08-22 11:17:27 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-08-22 09:18:04 -0700 |
| commit | 149c9e200c18316432a99a9b5edfa0d0b4d50bc5 (patch) | |
| tree | c088f2bd35ded0f0068a44b5cc4b008a893a9e63 /git-commit-script | |
| parent | ff0935b96e414ff7115f281308c33fb93e4e26ce (diff) | |
builtin/upload-archive: fix leaking args passed to `write_archive()`
In git-upload-archive(1), we pass an array of arguments to
`write_archive()` to tell it what exactly to do. We don't ever clear the
vector though, causing a memory leak. Furthermore though, the call to
`write_archive()` may cause contents of the array to be modified, which
would cause us to leak memory to allocated strings held by it.
Fix the issue by having `write_archive()` create a shallow copy of
`argv` before parsing the arguments. Like this, we won't modify the
caller's array and can easily `strvec_clear()` it to plug these memory
leaks.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-commit-script')
0 files changed, 0 insertions, 0 deletions
