Skip to content

Commit 3feff37

Browse files
committed
plugins: use byte addressing of rand_pool_info data buffer
Fix out-of-bounds write in urandom plugin. Signed-off-by: Joachim Wiberg <[email protected]>
1 parent c67d15e commit 3feff37

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

plugins/urandom.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ static void setup(void *arg)
7878
{
7979
#ifdef RANDOMSEED
8080
struct rand_pool_info *rpi;
81+
unsigned char *rpi_buf;
8182
ssize_t len = 0;
8283
struct stat st;
8384
int rc = -1;
@@ -137,10 +138,11 @@ static void setup(void *arg)
137138
goto fallback;
138139
}
139140

141+
rpi_buf = (unsigned char *)rpi->buf;
140142
do {
141143
ssize_t num;
142144

143-
num = read(fd, &rpi->buf[len], RANDOM_BYTES - len);
145+
num = read(fd, &rpi_buf[len], RANDOM_BYTES - len);
144146
if (num <= 0) {
145147
if (num == -1 && errno == EINTR)
146148
continue;

0 commit comments

Comments
 (0)