diff options
| author | Junio C Hamano <gitster@pobox.com> | 2024-12-06 13:23:16 +0900 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-12-06 13:23:16 +0900 |
| commit | b4269ebf3591b51bd0463057b97e1786123b74d1 (patch) | |
| tree | 097b84163806950ecd97cf74c60d7cb4a21c3b93 | |
| parent | The thirteenth batch (diff) | |
| parent | ref-cache: fix invalid free operation in `free_ref_entry` (diff) | |
| download | git-b4269ebf3591b51bd0463057b97e1786123b74d1.tar.gz git-b4269ebf3591b51bd0463057b97e1786123b74d1.zip | |
Merge branch 'sj/refs-symref-referent-fix'
A double-free that may not trigger in practice by luck has been
corrected in the reference resolution code.
* sj/refs-symref-referent-fix:
ref-cache: fix invalid free operation in `free_ref_entry`
| -rw-r--r-- | refs/ref-cache.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/refs/ref-cache.c b/refs/ref-cache.c index 35bae7e05d..02f09e4df8 100644 --- a/refs/ref-cache.c +++ b/refs/ref-cache.c @@ -68,8 +68,9 @@ static void free_ref_entry(struct ref_entry *entry) * trigger the reading of loose refs. */ clear_ref_dir(&entry->u.subdir); + } else { + free(entry->u.value.referent); } - free(entry->u.value.referent); free(entry); } |
