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