All of lore.kernel.org
 help / color / mirror / Atom feed
From: "René Scharfe" <rene.scharfe@lsrfire.ath.cx>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: git@vger.kernel.org, Stephen Boyd <sboyd@codeaurora.org>,
	Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v2 8/7] unpack-trees: document that pointer ce can be NULL
Date: Mon, 03 Jun 2013 18:57:56 +0200	[thread overview]
Message-ID: <51ACCB14.7030308@lsrfire.ath.cx> (raw)
In-Reply-To: <CAMP44s09s26Gyvqu___cQg2LsUnMrzZAa0pbUnGp85fDUEeapg@mail.gmail.com>

From: Felipe Contreras <felipe.contreras@gmail.com>

If someone adds code that dereferences ce before it is freed without
checking for NULL it will crash sometimes.  Spare that person from
having to wonder about the reason.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
Signoff from http://article.gmane.org/gmane.comp.version-control.git/225972.
No signoff from me because I don't see the point of adding a check for
a developer that probably won't appear.

 unpack-trees.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/unpack-trees.c b/unpack-trees.c
index 57b4074..f22bd89 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -605,7 +605,7 @@ static int unpack_nondirectories(int n, unsigned long mask,
 					o);
 		for (i = 0; i < n; i++) {
 			struct cache_entry *ce = src[i + o->merge];
-			if (ce != o->df_conflict_entry)
+			if (ce && ce != o->df_conflict_entry)
 				free(ce);
 		}
 		return rc;
-- 
1.8.3

  reply	other threads:[~2013-06-03 16:58 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-02 15:46 [PATCH v2 0/7] unpack-trees: plug memory leak for merges René Scharfe
2013-06-02 15:46 ` [PATCH v2 1/7] cache: mark cache_entry pointers const René Scharfe
2013-06-02 15:46 ` [PATCH v2 2/7] read-cache: " René Scharfe
2013-06-02 15:46 ` [PATCH v2 3/7] unpack-trees: factor out dup_entry René Scharfe
2013-06-02 15:46 ` [PATCH v2 4/7] unpack-trees: create working copy of merge entry in merged_entry René Scharfe
2013-06-02 15:46 ` [PATCH v2 5/7] diff-lib, read-tree, unpack-trees: mark cache_entry pointers const René Scharfe
2013-06-02 15:46 ` [PATCH v2 6/7] diff-lib, read-tree, unpack-trees: mark cache_entry array paramters const René Scharfe
2013-06-02 15:46 ` [PATCH v2 7/7] unpack-trees: free cache_entry array members for merges René Scharfe
2013-06-02 17:25   ` Felipe Contreras
2013-06-02 17:54     ` René Scharfe
2013-06-02 17:59       ` Felipe Contreras
2013-06-02 20:26         ` René Scharfe
2013-06-02 22:38           ` Felipe Contreras
2013-06-02 23:06             ` René Scharfe
2013-06-02 23:23               ` Felipe Contreras
2013-06-02 23:47                 ` René Scharfe
2013-06-03  0:04                   ` Felipe Contreras
2013-06-03 15:59                     ` René Scharfe
2013-06-03 16:10                       ` Felipe Contreras
2013-06-03 16:57                         ` René Scharfe [this message]
2013-06-03 17:40                         ` Junio C Hamano
2013-06-03 20:53                           ` Felipe Contreras

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51ACCB14.7030308@lsrfire.ath.cx \
    --to=rene.scharfe@lsrfire.ath.cx \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=sboyd@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.