[PATCH 1/3] fix memcpy of overlapping area
- From
Jeff King <peff@peff.net>
- Date
- Jan 29, 2010, 10:28 UTC
- Message-ID
- <20100129102844.GA6025@coredump.intra.peff.net>
- In-Reply-To
- <20100129102518.GA5875@coredump.intra.peff.net>
Caught by valgrind in t5500, but it is pretty obvious from reading the code that this is shifting elements of an array to the left, which needs memmove.
Signed-off-by: Jeff King <peff@peff.net> --- This was introduced in f53514b (allow deepening of a shallow repository, 2006-10-30), released as part of v1.5.0. So probably 'maint'-worthy.
commit.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/commit.c b/commit.c index 632061c..731191e 100644 --- a/commit.c +++ b/commit.c @@ -224,7 +224,7 @@ int unregister_shallow(const unsigned char *sha1) if (pos < 0) return -1; if (pos + 1 < commit_graft_nr) - memcpy(commit_graft + pos, commit_graft + pos + 1, + memmove(commit_graft + pos, commit_graft + pos + 1, sizeof(struct commit_graft *) * (commit_graft_nr - pos - 1)); commit_graft_nr--;
-- 1.7.0.rc0.41.g538720