git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 3/5] get_shallow_commits: Avoid memory leak if a commit has been reached already.
@ 2006-11-24 14:58 Alexandre Julliard
  2006-11-25 17:22 ` Anand Kumria
  0 siblings, 1 reply; 5+ messages in thread
From: Alexandre Julliard @ 2006-11-24 14:58 UTC (permalink / raw)
  To: git

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
---
 shallow.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/shallow.c b/shallow.c
index 2db1dc4..3d53d17 100644
--- a/shallow.c
+++ b/shallow.c
@@ -60,7 +60,9 @@ struct commit_list *get_shallow_commits(
 					commit = NULL;
 					continue;
 				}
-				commit->util = xcalloc(1, sizeof(int));
+				if (!commit->util)
+					commit->util = xmalloc(sizeof(int));
+				*(int *)commit->util = 0;
 				cur_depth = 0;
 			} else {
 				commit = (struct commit *)
-- 
1.4.4.1.ga335e

-- 
Alexandre Julliard

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/5] get_shallow_commits: Avoid memory leak if a commit has been reached already.
  2006-11-24 14:58 [PATCH 3/5] get_shallow_commits: Avoid memory leak if a commit has been reached already Alexandre Julliard
@ 2006-11-25 17:22 ` Anand Kumria
  2006-11-25 18:49   ` Johannes Schindelin
  0 siblings, 1 reply; 5+ messages in thread
From: Anand Kumria @ 2006-11-25 17:22 UTC (permalink / raw)
  To: git

On Fri, 24 Nov 2006 15:58:50 +0100, Alexandre Julliard wrote:

> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
> ---
>  shallow.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/shallow.c b/shallow.c
> index 2db1dc4..3d53d17 100644
> --- a/shallow.c
> +++ b/shallow.c
> @@ -60,7 +60,9 @@ struct commit_list *get_shallow_commits(
>  					commit = NULL;
>  					continue;
>  				}
> -				commit->util = xcalloc(1, sizeof(int));
> +				if (!commit->util)
> +					commit->util = xmalloc(sizeof(int));
> +				*(int *)commit->util = 0;
>  				cur_depth = 0;

Hi,

Any reason you didn't do:

if (!commit->util)
	commit->util = xcalloc(1, sizeof(int));

That would seem to be the same.

Regards,
Anand

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/5] get_shallow_commits: Avoid memory leak if a commit has been reached already.
  2006-11-25 17:22 ` Anand Kumria
@ 2006-11-25 18:49   ` Johannes Schindelin
  2006-11-25 19:44     ` Junio C Hamano
  0 siblings, 1 reply; 5+ messages in thread
From: Johannes Schindelin @ 2006-11-25 18:49 UTC (permalink / raw)
  To: Anand Kumria; +Cc: git

Hi,

On Sat, 25 Nov 2006, Anand Kumria wrote:

> Any reason you didn't do:
> 
> if (!commit->util)
> 	commit->util = xcalloc(1, sizeof(int));

xmalloc() does not initialize the memory. Therefore, it is usually 
preferred if you initialize the memory yourself. In this case, the memory 
is initialized to 0, even if it is not allocated.

It may be a minor performance issue, but it is a good habit to use xcalloc 
only if it is needed.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/5] get_shallow_commits: Avoid memory leak if a commit has been reached already.
  2006-11-25 18:49   ` Johannes Schindelin
@ 2006-11-25 19:44     ` Junio C Hamano
  2006-11-25 23:36       ` Johannes Schindelin
  0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2006-11-25 19:44 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> On Sat, 25 Nov 2006, Anand Kumria wrote:
>
>> Any reason you didn't do:
>> 
>> if (!commit->util)
>> 	commit->util = xcalloc(1, sizeof(int));
>
> xmalloc() does not initialize the memory. Therefore, it is usually 
> preferred if you initialize the memory yourself. In this case, the memory 
> is initialized to 0, even if it is not allocated.
>
> It may be a minor performance issue, but it is a good habit to use xcalloc 
> only if it is needed.

I think you could pretend the commit->util field to be of some
kind of int and avoid the allocation altogether ;-).

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/5] get_shallow_commits: Avoid memory leak if a commit has been reached already.
  2006-11-25 19:44     ` Junio C Hamano
@ 2006-11-25 23:36       ` Johannes Schindelin
  0 siblings, 0 replies; 5+ messages in thread
From: Johannes Schindelin @ 2006-11-25 23:36 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Hi,

On Sat, 25 Nov 2006, Junio C Hamano wrote:

> I think you could pretend the commit->util field to be of some kind of 
> int and avoid the allocation altogether ;-).

I actually thought about that, and found it too dangerous. But of course, 
since we need at least a 32-bit architecture, chances are very high that a 
pointer is castable to an int.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-11-25 23:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-24 14:58 [PATCH 3/5] get_shallow_commits: Avoid memory leak if a commit has been reached already Alexandre Julliard
2006-11-25 17:22 ` Anand Kumria
2006-11-25 18:49   ` Johannes Schindelin
2006-11-25 19:44     ` Junio C Hamano
2006-11-25 23:36       ` Johannes Schindelin

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).