tommath: Fix warning in s_read_getrandom()

See https://github.com/libtom/libtommath/pull/512

(Note: this has not shipped.  Only OS X would be affected, specifically
RSA key gen would be affected on OS X.)
This commit is contained in:
Nicolas Williams
2022-01-14 15:21:38 -06:00
parent 318b73f002
commit 489da75e65

View File

@@ -56,16 +56,16 @@ static mp_err s_read_wincsp(void *p, size_t n)
static mp_err s_read_getrandom(void *p, size_t n) static mp_err s_read_getrandom(void *p, size_t n)
{ {
char *q = (char *)p; char *r = (char *)p;
while (n > 0u) { while (n > 0u) {
ssize_t ret = getrandom(q, n, 0); ssize_t ret = getrandom(r, n, 0);
if (ret < 0) { if (ret < 0) {
if (errno == EINTR) { if (errno == EINTR) {
continue; continue;
} }
return MP_ERR; return MP_ERR;
} }
q += ret; r += ret;
n -= (size_t)ret; n -= (size_t)ret;
} }
return MP_OKAY; return MP_OKAY;
@@ -88,7 +88,7 @@ static mp_err s_read_getrandom(void *p, size_t n)
static mp_err s_read_urandom(void *p, size_t n) static mp_err s_read_urandom(void *p, size_t n)
{ {
int fd; int fd;
char *q = (char *)p; char *r = (char *)p;
do { do {
fd = open(MP_DEV_URANDOM, O_RDONLY); fd = open(MP_DEV_URANDOM, O_RDONLY);
@@ -96,7 +96,7 @@ static mp_err s_read_urandom(void *p, size_t n)
if (fd == -1) return MP_ERR; if (fd == -1) return MP_ERR;
while (n > 0u) { while (n > 0u) {
ssize_t ret = read(fd, p, n); ssize_t ret = read(fd, r, n);
if (ret < 0) { if (ret < 0) {
if (errno == EINTR) { if (errno == EINTR) {
continue; continue;
@@ -104,7 +104,7 @@ static mp_err s_read_urandom(void *p, size_t n)
close(fd); close(fd);
return MP_ERR; return MP_ERR;
} }
q += ret; r += ret;
n -= (size_t)ret; n -= (size_t)ret;
} }