}
} else {
size_t len_to_copy = min(len, ctx->bytes_remaining);
- memcpy(ctx->read_prefix_ctx_or_buf, data, len_to_copy);
+ ctx->read_prefix_ctx_or_buf = mempcpy(ctx->read_prefix_ctx_or_buf,
+ data,
+ len_to_copy);
ctx->bytes_remaining -= len_to_copy;
- ctx->read_prefix_ctx_or_buf += len_to_copy;
}
return ERROR_SUCCESS;
}
const wchar_t *path)
{
struct reparse_data rpdata;
- DWORD rpbuflen;
int ret;
enum rp_status rp_status;
- rpbuflen = *rpbuflen_p;
- ret = parse_reparse_data(rpbuf, rpbuflen, &rpdata);
+ ret = parse_reparse_data(rpbuf, *rpbuflen_p, &rpdata);
if (ret)
return -ret;
rpdata.print_name += 4;
rpdata.print_name_nbytes -= 8;
}
- ret = make_reparse_buffer(&rpdata, rpbuf);
+ ret = make_reparse_buffer(&rpdata, rpbuf, rpbuflen_p);
if (ret == 0)
ret = rp_status;
else