mirror of
https://github.com/systemd/systemd.git
synced 2024-10-28 11:55:44 +03:00
sd-id128: use new dev_urandom() call
This commit is contained in:
parent
581483bf59
commit
0f0e240cb8
@ -208,22 +208,14 @@ _public_ int sd_id128_get_boot(sd_id128_t *ret) {
|
||||
}
|
||||
|
||||
_public_ int sd_id128_randomize(sd_id128_t *ret) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
sd_id128_t t;
|
||||
ssize_t k;
|
||||
int r;
|
||||
|
||||
assert_return(ret, -EINVAL);
|
||||
|
||||
fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC|O_NOCTTY);
|
||||
if (fd < 0)
|
||||
return -errno;
|
||||
|
||||
k = loop_read(fd, &t, 16, false);
|
||||
if (k < 0)
|
||||
return (int) k;
|
||||
|
||||
if (k != 16)
|
||||
return -EIO;
|
||||
r = dev_urandom(&t, sizeof(t));
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
/* Turn this into a valid v4 UUID, to be nice. Note that we
|
||||
* only guarantee this for newly generated UUIDs, not for
|
||||
|
Loading…
Reference in New Issue
Block a user