Re: [PATCH] http*: cleanup slot->local after fclose

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tay Ray Chuan <rctay89@xxxxxxxxx> writes:

> Set slot->local to NULL after doing a fclose on the FILE* pointer it
> points to.
>
> Move NULL assignment to request->slot from
> http-push.c::finish_request() to http-push.c::release_request(). This
> is safe, since the functions finish_request() invoke will overwrite
> request->slot anyway.
>
> Refactor http-push.c::fetch_index(), http-walker.c::fetch_index() and
> http-walker.c::fetch_pack() to use labels while cleaning up.
>
> This fixes the issue raised by Clemens Buchacher on 30th May:
>
>   http://www.spinics.net/lists/git/msg104623.html
>
> Signed-off-by: Tay Ray Chuan <rctay89@xxxxxxxxx>
> ---
>
>  This applies on master, and is a resend, this time with the subject.

Shouldn't a fix instead be queued for 'maint', without "refactoring"?

Is there a reproducible repipe you can add to the test script?

>  http-push.c   |   23 ++++++++++++++---------
>  http-walker.c |   36 +++++++++++++++++++++++-------------
>  2 files changed, 37 insertions(+), 22 deletions(-)
>
> diff --git a/http-push.c b/http-push.c
> index dac2c6e..816824a 100644
> --- a/http-push.c
> +++ b/http-push.c
> @@ -715,6 +715,8 @@ static void release_request(struct transfer_request *request)
>  		close(request->local_fileno);
>  	if (request->local_stream)
>  		fclose(request->local_stream);
> +	if (request->slot)
> +		request->slot = NULL;
>  	free(request->url);
>  	free(request);

Hmm, what's the point of setting NULL to request->slot if you are already
freeing "request" that contains the field?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]