git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Fix segfault in diff-delta.c when FLEX_ARRAY is 1
@ 2007-12-18  1:39 Pierre Habouzit
  2007-12-18  1:44 ` Pierre Habouzit
  0 siblings, 1 reply; 7+ messages in thread
From: Pierre Habouzit @ 2007-12-18  1:39 UTC (permalink / raw)
  To: gitster, spearce; +Cc: git, Pierre Habouzit

aka don't do pointer arithmetics on structs that have a FLEX_ARRAY member,
or you'll end up believing your array is 1 cell off its real address.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
---
 diff-delta.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/diff-delta.c b/diff-delta.c
index 9e440a9..601b49e 100644
--- a/diff-delta.c
+++ b/diff-delta.c
@@ -264,7 +264,7 @@ struct delta_index * create_delta_index(const void *buf, unsigned long bufsize)
 	index->src_size = bufsize;
 	index->hash_mask = hmask;
 
-	mem = index + 1;
+	mem = index->hash;
 	packed_hash = mem;
 	mem = packed_hash + (hsize+1);
 	packed_entry = mem;
-- 
1.5.4.rc0.1153.gb1b3d-dirty

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

end of thread, other threads:[~2007-12-18 14:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-18  1:39 [PATCH] Fix segfault in diff-delta.c when FLEX_ARRAY is 1 Pierre Habouzit
2007-12-18  1:44 ` Pierre Habouzit
2007-12-18  4:46   ` Linus Torvalds
2007-12-18  6:12     ` Linus Torvalds
2007-12-18  9:07       ` Junio C Hamano
2007-12-18 11:15         ` David Kastrup
2007-12-18 14:46         ` Nicolas Pitre

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