提交 79a65697 编写于 作者: E Edgar Toernig 提交者: Junio C Hamano

Use memmove instead of memcpy for overlapping areas

Signed-off-by: NJunio C Hamano <junkio@cox.net>
上级 6dcfa306
......@@ -22,7 +22,7 @@ static SHA_CTX ctx;
* Make sure at least "min" bytes are available in the buffer, and
* return the pointer to the buffer.
*/
static void * fill(int min)
static void *fill(int min)
{
if (min <= len)
return buffer + offset;
......@@ -30,7 +30,7 @@ static void * fill(int min)
die("cannot fill %d bytes", min);
if (offset) {
SHA1_Update(&ctx, buffer, offset);
memcpy(buffer, buffer + offset, len);
memmove(buffer, buffer + offset, len);
offset = 0;
}
do {
......
......@@ -53,7 +53,7 @@ static int input_fd;
* Make sure at least "min" bytes are available in the buffer, and
* return the pointer to the buffer.
*/
static void * fill(int min)
static void *fill(int min)
{
if (min <= input_len)
return input_buffer + input_offset;
......@@ -61,7 +61,7 @@ static void * fill(int min)
die("cannot fill %d bytes", min);
if (input_offset) {
SHA1_Update(&input_ctx, input_buffer, input_offset);
memcpy(input_buffer, input_buffer + input_offset, input_len);
memmove(input_buffer, input_buffer + input_offset, input_len);
input_offset = 0;
}
do {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册