diff options
| author | zhao maosheng <[email protected]> | 2024-07-15 17:29:11 +0800 |
|---|---|---|
| committer | Rbb666 <[email protected]> | 2024-07-18 10:05:05 +0800 |
| commit | 393a61b048a06c00632c9ba507bf17fbd3d4239f (patch) | |
| tree | 91076193d6f5c123d9474d6acfd02fa24a5f3d07 /components | |
| parent | 861e32490f27667b5bb6cd12a5e5ae14f91e60cd (diff) | |
Fix potential return value discrepancy when writing to urandom
Diffstat (limited to 'components')
| -rw-r--r-- | components/drivers/misc/rt_random.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/components/drivers/misc/rt_random.c b/components/drivers/misc/rt_random.c index da6b312e1e..9f4be20902 100644 --- a/components/drivers/misc/rt_random.c +++ b/components/drivers/misc/rt_random.c @@ -46,7 +46,7 @@ static rt_ssize_t random_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_si static rt_ssize_t random_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size) { - ssize_t ret = sizeof(seed); + ssize_t ret = sizeof(seed) < size ? sizeof(seed) : size; rt_memcpy(&seed, buffer, ret); return ret; } @@ -137,7 +137,7 @@ static rt_ssize_t random_uread(rt_device_t dev, rt_off_t pos, void *buffer, rt_s static rt_ssize_t random_uwrite(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size) { - ssize_t ret = sizeof(useed); + ssize_t ret = sizeof(useed) < size ? sizeof(useed) : size; rt_memcpy(&useed, buffer, ret); return ret; } |
