[PATCH] Fix segfault in diff-delta.c when FLEX_ARRAY is 1
- From
Pierre Habouzit <madcoder@debian.org>
- Date
- Dec 18, 2007, 01:39 UTC
- Message-ID
- <1197941997-11421-1-git-send-email-madcoder@debian.org>
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