* [PATCH] builtin/apply: free patch when parse_chunk() fails
@ 2016-03-16 19:35 Christian Couder
2016-03-31 22:29 ` Christian Couder
2016-04-01 17:23 ` Junio C Hamano
0 siblings, 2 replies; 5+ messages in thread
From: Christian Couder @ 2016-03-16 19:35 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Christian Couder
When parse_chunk() fails it can return -1, for example
when find_header() doesn't find a patch header.
In this case it's better in apply_patch() to free the
"struct patch" that we just allocated instead of
leaking it.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
builtin/apply.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/builtin/apply.c b/builtin/apply.c
index 42c610e..bf78282 100644
--- a/builtin/apply.c
+++ b/builtin/apply.c
@@ -4373,8 +4373,10 @@ static int apply_patch(int fd, const char *filename, int options)
patch->inaccurate_eof = !!(options & INACCURATE_EOF);
patch->recount = !!(options & RECOUNT);
nr = parse_chunk(buf.buf + offset, buf.len - offset, patch);
- if (nr < 0)
+ if (nr < 0) {
+ free_patch(patch);
break;
+ }
if (apply_in_reverse)
reverse_patches(patch);
if (use_patch(patch)) {
--
2.8.0.rc2.54.g810e8ee
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] builtin/apply: free patch when parse_chunk() fails
2016-03-16 19:35 [PATCH] builtin/apply: free patch when parse_chunk() fails Christian Couder
@ 2016-03-31 22:29 ` Christian Couder
2016-03-31 22:56 ` Junio C Hamano
2016-04-01 17:23 ` Junio C Hamano
1 sibling, 1 reply; 5+ messages in thread
From: Christian Couder @ 2016-03-31 22:29 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Christian Couder
On Wed, Mar 16, 2016 at 3:35 PM, Christian Couder
<christian.couder@gmail.com> wrote:
> When parse_chunk() fails it can return -1, for example
> when find_header() doesn't find a patch header.
>
> In this case it's better in apply_patch() to free the
> "struct patch" that we just allocated instead of
> leaking it.
Maybe this patch has fallen through the cracks too.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] builtin/apply: free patch when parse_chunk() fails
2016-03-31 22:29 ` Christian Couder
@ 2016-03-31 22:56 ` Junio C Hamano
2016-03-31 23:58 ` Christian Couder
0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2016-03-31 22:56 UTC (permalink / raw)
To: Christian Couder; +Cc: git, Christian Couder
Christian Couder <christian.couder@gmail.com> writes:
> On Wed, Mar 16, 2016 at 3:35 PM, Christian Couder
> <christian.couder@gmail.com> wrote:
>> When parse_chunk() fails it can return -1, for example
>> when find_header() doesn't find a patch header.
>>
>> In this case it's better in apply_patch() to free the
>> "struct patch" that we just allocated instead of
>> leaking it.
>
> Maybe this patch has fallen through the cracks too.
Anything worthy of discussion that you sent during the feature
freeze, please resend them to the list for discussion.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] builtin/apply: free patch when parse_chunk() fails
2016-03-31 22:56 ` Junio C Hamano
@ 2016-03-31 23:58 ` Christian Couder
0 siblings, 0 replies; 5+ messages in thread
From: Christian Couder @ 2016-03-31 23:58 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Christian Couder
On Fri, Apr 1, 2016 at 12:56 AM, Junio C Hamano <gitster@pobox.com> wrote:
> Christian Couder <christian.couder@gmail.com> writes:
>
>> On Wed, Mar 16, 2016 at 3:35 PM, Christian Couder
>> <christian.couder@gmail.com> wrote:
>>> When parse_chunk() fails it can return -1, for example
>>> when find_header() doesn't find a patch header.
>>>
>>> In this case it's better in apply_patch() to free the
>>> "struct patch" that we just allocated instead of
>>> leaking it.
>>
>> Maybe this patch has fallen through the cracks too.
>
> Anything worthy of discussion that you sent during the feature
> freeze, please resend them to the list for discussion.
It looks like only the two patches I replied to have not been applied to next.
I had also sent a three patch long series
(http://thread.gmane.org/gmane.comp.version-control.git/289559), but
we agreed that only two of them could be merged for now and that's
what you did already (fda3e2c and db354b7).
By the way my guess is that replying to them is ok, but you ask to
"resend them", so I am wondering if you really prefer them to be
resent rather than just replied to.
Thanks!
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] builtin/apply: free patch when parse_chunk() fails
2016-03-16 19:35 [PATCH] builtin/apply: free patch when parse_chunk() fails Christian Couder
2016-03-31 22:29 ` Christian Couder
@ 2016-04-01 17:23 ` Junio C Hamano
1 sibling, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2016-04-01 17:23 UTC (permalink / raw)
To: Christian Couder; +Cc: git, Christian Couder
Christian Couder <christian.couder@gmail.com> writes:
> When parse_chunk() fails it can return -1, for example
> when find_header() doesn't find a patch header.
>
> In this case it's better in apply_patch() to free the
> "struct patch" that we just allocated instead of
> leaking it.
>
> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
> ---
> builtin/apply.c | 4 +++-
OK. Will queue. Thanks.
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/builtin/apply.c b/builtin/apply.c
> index 42c610e..bf78282 100644
> --- a/builtin/apply.c
> +++ b/builtin/apply.c
> @@ -4373,8 +4373,10 @@ static int apply_patch(int fd, const char *filename, int options)
> patch->inaccurate_eof = !!(options & INACCURATE_EOF);
> patch->recount = !!(options & RECOUNT);
> nr = parse_chunk(buf.buf + offset, buf.len - offset, patch);
> - if (nr < 0)
> + if (nr < 0) {
> + free_patch(patch);
> break;
> + }
> if (apply_in_reverse)
> reverse_patches(patch);
> if (use_patch(patch)) {
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-04-01 17:23 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-16 19:35 [PATCH] builtin/apply: free patch when parse_chunk() fails Christian Couder
2016-03-31 22:29 ` Christian Couder
2016-03-31 22:56 ` Junio C Hamano
2016-03-31 23:58 ` Christian Couder
2016-04-01 17:23 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).