From 74a92cdd178ac5434d2bbbc1649fe66ff341c1d0 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Fri, 5 Dec 2014 11:04:19 -0700 Subject: [PATCH] lib/rand: cleanup __fill_random_buffer() Signed-off-by: Jens Axboe --- lib/rand.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/rand.c b/lib/rand.c index 32aec208..185b679e 100644 --- a/lib/rand.c +++ b/lib/rand.c @@ -72,23 +72,23 @@ void __fill_random_buf(void *buf, unsigned int len, unsigned long seed) void *ptr = buf; while (len) { + int this_len; + if (len >= sizeof(int64_t)) { *((int64_t *) ptr) = seed; - ptr += sizeof(int64_t); - len -= sizeof(int64_t); + this_len = sizeof(int64_t); } else if (len >= sizeof(int32_t)) { *((int32_t *) ptr) = seed; - ptr += sizeof(int32_t); - len -= sizeof(int32_t); + this_len = sizeof(int32_t); } else if (len >= sizeof(int16_t)) { *((int16_t *) ptr) = seed; - ptr += sizeof(int16_t); - len -= sizeof(int16_t); + this_len = sizeof(int16_t); } else { *((int8_t *) ptr) = seed; - ptr += sizeof(int8_t); - len -= sizeof(int8_t); + this_len = sizeof(int8_t); } + ptr += this_len; + len -= this_len; seed *= GOLDEN_RATIO_PRIME; seed >>= 3; } -- 2.25.1