mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-03 01:58:32 +00:00
checkout: fix double-free of checkout_data's mkdir_map
We currently call `git_strmap_free` on `checkout_data.mkdir_map` in the `checkout_data_clear` function. The only thing protecting us from a double-free is that the `git_strmap_free` function is in fact not a function, but a macro that also sets the map to NULL. Remove the second call to `git_strmap_free` and explicitly set the map member to NULL.
This commit is contained in:
parent
6dfb983cfc
commit
77c8ee74ff
@ -2319,8 +2319,6 @@ static void checkout_data_clear(checkout_data *data)
|
||||
git__free(data->pfx);
|
||||
data->pfx = NULL;
|
||||
|
||||
git_strmap_free(data->mkdir_map);
|
||||
|
||||
git_buf_free(&data->target_path);
|
||||
git_buf_free(&data->tmp);
|
||||
|
||||
@ -2328,6 +2326,7 @@ static void checkout_data_clear(checkout_data *data)
|
||||
data->index = NULL;
|
||||
|
||||
git_strmap_free(data->mkdir_map);
|
||||
data->mkdir_map = NULL;
|
||||
|
||||
git_attr_session__free(&data->attr_session);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user