[PATCH 3/5] get_shallow_commits: Avoid memory leak if a commit has been reached already.

Subsystems: the rest

STALE3689d

3 messages, 3 authors, 2016-08-11 · open the first message on its own page

[PATCH 3/5] get_shallow_commits: Avoid memory leak if a commit has been reached already.

From: Alexandre Julliard <hidden>
Date: 2016-08-11 20:15:22

Signed-off-by: Alexandre Julliard <redacted>
---
 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

Re: [PATCH 3/5] get_shallow_commits: Avoid memory leak if a commit has been reached already.

From: Johannes Schindelin <hidden>
Date: 2016-08-11 20:15:13

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

Re: [PATCH 3/5] get_shallow_commits: Avoid memory leak if a commit has been reached already.

From: Anand Kumria <hidden>
Date: 2016-08-11 20:42:25

On Fri, 24 Nov 2006 15:58:50 +0100, Alexandre Julliard wrote:
quoted hunk
Signed-off-by: Alexandre Julliard <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help