Re: [PATCH 1/3] write_entry: fix leak when retrying delayed filter

2017-10-10 Thread Simon Ruderich
On Tue, Oct 10, 2017 at 05:25:43AM -0400, Jeff King wrote:
> On Tue, Oct 10, 2017 at 11:23:19AM +0200, Simon Ruderich wrote:
>> On Tue, Oct 10, 2017 at 09:00:09AM +0900, Junio C Hamano wrote:
 --- a/entry.c
 +++ b/entry.c
 @@ -283,6 +283,7 @@ static int write_entry(struct cache_entry *ce,
if (dco && dco->state != CE_NO_DELAY) {
/* Do not send the blob in case of a retry. */
if (dco->state == CE_RETRY) {
 +  free(new);
new = NULL;
size = 0;
}
>>
>> FREE_AND_NULL(new)?
>
> Ah, yeah, I forgot we had that now. It would work here, but note that
> this code ends up going away later in the series.

Ah sorry, missed that. Then never mind.

Regards
Simon
-- 
+ privacy is necessary
+ using gnupg http://gnupg.org
+ public key id: 0x92FEFDB7E44C32F9


Re: [PATCH 1/3] write_entry: fix leak when retrying delayed filter

2017-10-10 Thread Jeff King
On Tue, Oct 10, 2017 at 11:23:19AM +0200, Simon Ruderich wrote:

> On Tue, Oct 10, 2017 at 09:00:09AM +0900, Junio C Hamano wrote:
> >> --- a/entry.c
> >> +++ b/entry.c
> >> @@ -283,6 +283,7 @@ static int write_entry(struct cache_entry *ce,
> >>if (dco && dco->state != CE_NO_DELAY) {
> >>/* Do not send the blob in case of a retry. */
> >>if (dco->state == CE_RETRY) {
> >> +  free(new);
> >>new = NULL;
> >>size = 0;
> >>}
> 
> FREE_AND_NULL(new)?

Ah, yeah, I forgot we had that now. It would work here, but note that
this code ends up going away later in the series.

-Peff


Re: [PATCH 1/3] write_entry: fix leak when retrying delayed filter

2017-10-10 Thread Simon Ruderich
On Tue, Oct 10, 2017 at 09:00:09AM +0900, Junio C Hamano wrote:
>> --- a/entry.c
>> +++ b/entry.c
>> @@ -283,6 +283,7 @@ static int write_entry(struct cache_entry *ce,
>>  if (dco && dco->state != CE_NO_DELAY) {
>>  /* Do not send the blob in case of a retry. */
>>  if (dco->state == CE_RETRY) {
>> +free(new);
>>  new = NULL;
>>  size = 0;
>>  }

FREE_AND_NULL(new)?

Regards
Simon
-- 
+ privacy is necessary
+ using gnupg http://gnupg.org
+ public key id: 0x92FEFDB7E44C32F9


Re: [PATCH 1/3] write_entry: fix leak when retrying delayed filter

2017-10-09 Thread Junio C Hamano
Jeff King  writes:

> When write_entry() retries a delayed filter request, we
> don't need to send the blob content to the filter again, and
> set the pointer to NULL. But doing so means we leak the
> contents we read earlier from read_blob_entry(). Let's make
> sure to free it before dropping the pointer.
>
> Signed-off-by: Jeff King 
> ---
>  entry.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/entry.c b/entry.c
> index ab79f1f69c..637c5958b0 100644
> --- a/entry.c
> +++ b/entry.c
> @@ -283,6 +283,7 @@ static int write_entry(struct cache_entry *ce,
>   if (dco && dco->state != CE_NO_DELAY) {
>   /* Do not send the blob in case of a retry. */
>   if (dco->state == CE_RETRY) {
> + free(new);
>   new = NULL;
>   size = 0;
>   }

Looks good to me.  Thanks.