-
Notifications
You must be signed in to change notification settings - Fork 27.2k
repository: remove duplicate free of cache->squash_msg #2132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
/submit |
|
Submitted as [email protected] To fetch this version into To fetch this version to local tag |
Thankfully, it is set to NULL, so no security consequences. However, this is still a mistake that must be rectified. Signed-off-by: Greg Funni <[email protected]>
|
/submit |
|
Submitted as [email protected] To fetch this version into To fetch this version to local tag |
|
On the Git mailing list, Eric Sunshine wrote (reply to this): On Thu, Dec 18, 2025 at 10:26 AM AZero13 via GitGitGadget
<[email protected]> wrote:
> Thankfully, it is set to NULL, so no security consequences.
> However, this is still a mistake that must be rectified.
>
> Signed-off-by: Greg Funni <[email protected]>
> ---
> diff --git a/repository.c b/repository.c
> @@ -349,7 +349,6 @@ out:
> static void repo_clear_path_cache(struct repo_path_cache *cache)
> {
> - FREE_AND_NULL(cache->squash_msg);
> FREE_AND_NULL(cache->squash_msg);
> FREE_AND_NULL(cache->merge_msg);
> FREE_AND_NULL(cache->merge_rr);
This mistake has been present since Ævar added this function in
759f340738 (repository.c: free the "path cache" in repo_clear(),
2022-03-04), so it isn't the result of someone else coming along and
adding a new field to the structure which needs freeing but then
botching the call to FREE_AND_NULL(). Moreover, this function does
free all the freeable members of repo_path_cache, hence, nothing is
being leaked, so it must have just been a silly copy/paste mistake in
the first place. Hence, this change makes sense. |
|
User |
|
On the Git mailing list, Junio C Hamano wrote (reply to this): Eric Sunshine <[email protected]> writes:
> On Thu, Dec 18, 2025 at 10:26 AM AZero13 via GitGitGadget
> <[email protected]> wrote:
>> Thankfully, it is set to NULL, so no security consequences.
>> However, this is still a mistake that must be rectified.
>>
>> Signed-off-by: Greg Funni <[email protected]>
>> ---
>> diff --git a/repository.c b/repository.c
>> @@ -349,7 +349,6 @@ out:
>> static void repo_clear_path_cache(struct repo_path_cache *cache)
>> {
>> - FREE_AND_NULL(cache->squash_msg);
>> FREE_AND_NULL(cache->squash_msg);
>> FREE_AND_NULL(cache->merge_msg);
>> FREE_AND_NULL(cache->merge_rr);
>
> This mistake has been present since Ævar added this function in
> 759f340738 (repository.c: free the "path cache" in repo_clear(),
> 2022-03-04), so it isn't the result of someone else coming along and
> adding a new field to the structure which needs freeing but then
> botching the call to FREE_AND_NULL(). Moreover, this function does
> free all the freeable members of repo_path_cache, hence, nothing is
> being leaked, so it must have just been a silly copy/paste mistake in
> the first place. Hence, this change makes sense.
Thanks, both. Will queue.
|
Thankfully, it is set to NULL, so no security consequences.
However, this is still a mistake that must be rectified.
Signed-off-by: Greg Funni [email protected]
cc: Eric Sunshine [email protected]