# [PATCH] commit: Fix a memory leak in determine_author_info

3 messages from 2013-07-14 to 2013-07-15. Participants: Stefan Beller, Junio C Hamano.
Thread: https://gitlist.dev/t/34434

## Stefan Beller, 2013-07-14 14:01

Subject: [PATCH] commit: Fix a memory leak in determine_author_info
Message-ID: <1373810463-7144-1-git-send-email-stefanbeller@googlemail.com>
URL: https://gitlist.dev/e/1373810463-7144-1-git-send-email-stefanbeller%40googlemail.com

```
The date variable is assigned new memory via xmemdupz and 2 lines later
it is assigned new memory again via xmalloc, but the first assignment
is never freed nor used.
---
 builtin/commit.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/builtin/commit.c b/builtin/commit.c
index 790e5ab..00da83c 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -534,7 +534,6 @@ static void determine_author_info(struct strbuf *author_ident)
 					(lb - strlen(" ") -
 					 (a + strlen("\nauthor "))));
 		email = xmemdupz(lb + strlen("<"), rb - (lb + strlen("<")));
-		date = xmemdupz(rb + strlen("> "), eol - (rb + strlen("> ")));
 		len = eol - (rb + strlen("> "));
 		date = xmalloc(len + 2);
 		*date = '@';
-- 
1.8.3.2.806.gdee5b9b

```

## Junio C Hamano, 2013-07-15 14:42

Subject: Re: [PATCH] commit: Fix a memory leak in determine_author_info
Message-ID: <7vehazevf3.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vehazevf3.fsf%40alter.siamese.dyndns.org
In-Reply-To: <1373810463-7144-1-git-send-email-stefanbeller@googlemail.com>

```
Stefan Beller <stefanbeller@googlemail.com> writes:

> The date variable is assigned new memory via xmemdupz and 2 lines later
> it is assigned new memory again via xmalloc, but the first assignment
> is never freed nor used.
> ---
>  builtin/commit.c | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/builtin/commit.c b/builtin/commit.c
> index 790e5ab..00da83c 100644
> --- a/builtin/commit.c
> +++ b/builtin/commit.c
> @@ -534,7 +534,6 @@ static void determine_author_info(struct strbuf *author_ident)
>  					(lb - strlen(" ") -
>  					 (a + strlen("\nauthor "))));
>  		email = xmemdupz(lb + strlen("<"), rb - (lb + strlen("<")));
> -		date = xmemdupz(rb + strlen("> "), eol - (rb + strlen("> ")));
>  		len = eol - (rb + strlen("> "));
>  		date = xmalloc(len + 2);
>  		*date = '@';

Makes sense. I'd assume this is signed-off?

```

## Stefan Beller, 2013-07-15 14:46

Subject: Re: [PATCH] commit: Fix a memory leak in determine_author_info
Message-ID: <51E40B4E.7040309@googlemail.com>
URL: https://gitlist.dev/e/51E40B4E.7040309%40googlemail.com
In-Reply-To: <7vehazevf3.fsf@alter.siamese.dyndns.org>

```
On 07/15/2013 04:42 PM, Junio C Hamano wrote:
> Stefan Beller <stefanbeller@googlemail.com> writes:
> 
>> The date variable is assigned new memory via xmemdupz and 2 lines later
>> it is assigned new memory again via xmalloc, but the first assignment
>> is never freed nor used.
>> ---
>>  builtin/commit.c | 1 -
>>  1 file changed, 1 deletion(-)
>>
>> diff --git a/builtin/commit.c b/builtin/commit.c
>> index 790e5ab..00da83c 100644
>> --- a/builtin/commit.c
>> +++ b/builtin/commit.c
>> @@ -534,7 +534,6 @@ static void determine_author_info(struct strbuf *author_ident)
>>  					(lb - strlen(" ") -
>>  					 (a + strlen("\nauthor "))));
>>  		email = xmemdupz(lb + strlen("<"), rb - (lb + strlen("<")));
>> -		date = xmemdupz(rb + strlen("> "), eol - (rb + strlen("> ")));
>>  		len = eol - (rb + strlen("> "));
>>  		date = xmalloc(len + 2);
>>  		*date = '@';
> 
> Makes sense. I'd assume this is signed-off?
> 

As I realised I did not sign it,
I resend it with some other findings a few hours later,
so you'll find it there as well.

See Message-ID
<1373837749-14402-2-git-send-email-stefanbeller@googlemail.com>
[PATCH 2/4] commit: Fix a memory leak in determine_author_info

```
