X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fcrypto.c;h=1bdd8b0745597bd5a35f73bfefa18a7d10db3dca;hb=771c923ba3d6e2122d822cd1ebd38373020dc422;hp=b5309b0fee4d61092abf10f0fef2dcd2b471c288;hpb=b67296418c51784d39a24c3041e2cb199bee06f2;p=meshlink diff --git a/src/crypto.c b/src/crypto.c index b5309b0f..1bdd8b07 100644 --- a/src/crypto.c +++ b/src/crypto.c @@ -45,8 +45,10 @@ void crypto_exit(void) { } void randomize(void *out, size_t outlen) { + char *ptr = out; + while(outlen) { - size_t len = read(random_fd, out, outlen); + size_t len = read(random_fd, ptr, outlen); if(len <= 0) { if(errno == EAGAIN || errno == EINTR) { @@ -57,7 +59,7 @@ void randomize(void *out, size_t outlen) { abort(); } - out += len; + ptr += len; outlen -= len; } }