From be9b9ed64e658889229e18e3d089df27d8b724c3 Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Thu, 22 Mar 2018 14:45:06 +0000 Subject: win32: tighten up code slightly in isaac.c --- win32/isaac.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/win32/isaac.c b/win32/isaac.c index ba51d199a..2b02eaff2 100644 --- a/win32/isaac.c +++ b/win32/isaac.c @@ -214,20 +214,12 @@ ssize_t get_random_bytes(void *buf, ssize_t count) ptr = (unsigned char *)t->randrsl; while (count > 0) { int bytes_left = RAND_BYTES - rand_index; + ssize_t delta = MIN(bytes_left, count); - if (bytes_left >= count) { - /* we have enough random bytes */ - memcpy(buf, ptr+rand_index, count); - rand_index += count; - count = 0; - } - else { - /* insufficient bytes, use what we have */ - memcpy(buf, ptr+rand_index, bytes_left); - buf += bytes_left; - count -= bytes_left; - rand_index += bytes_left; - } + memcpy(buf, ptr+rand_index, delta); + buf += delta; + count -= delta; + rand_index += delta; if (rand_index >= RAND_BYTES) { /* generate more */ -- cgit v1.2.3-55-g6feb