We know that in the body of this if statement i is less than len, so we really should be copying len - i bytes not i - len bytes.
Fix this typo. Signed-off-by: Mark Nelson <mdnels...@gmail.com> --- util/guest-random.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/guest-random.c b/util/guest-random.c index 086115bd67..23643f86cc 100644 --- a/util/guest-random.c +++ b/util/guest-random.c @@ -38,7 +38,7 @@ static int glib_random_bytes(void *buf, size_t len) } if (i < len) { x = g_rand_int(rand); - __builtin_memcpy(buf + i, &x, i - len); + __builtin_memcpy(buf + i, &x, len - i); } return 0; } -- 2.30.2