diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 03:50:40 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 03:50:40 +0000 |
commit | fc53809803cd2bc2434e312b19a18fa36776da12 (patch) | |
tree | b4b43bd6538f51965ce32856e9c053d0f90919c8 /src/shared/keyring-util.c | |
parent | Adding upstream version 255.5. (diff) | |
download | systemd-fc53809803cd2bc2434e312b19a18fa36776da12.tar.xz systemd-fc53809803cd2bc2434e312b19a18fa36776da12.zip |
Adding upstream version 256.upstream/256
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/shared/keyring-util.c')
-rw-r--r-- | src/shared/keyring-util.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/src/shared/keyring-util.c b/src/shared/keyring-util.c deleted file mode 100644 index fadd90e..0000000 --- a/src/shared/keyring-util.c +++ /dev/null @@ -1,35 +0,0 @@ -/* SPDX-License-Identifier: LGPL-2.1-or-later */ - -#include "keyring-util.h" -#include "memory-util.h" -#include "missing_syscall.h" - -int keyring_read(key_serial_t serial, void **ret, size_t *ret_size) { - size_t bufsize = 100; - - for (;;) { - _cleanup_(erase_and_freep) uint8_t *buf = NULL; - long n; - - buf = new(uint8_t, bufsize + 1); - if (!buf) - return -ENOMEM; - - n = keyctl(KEYCTL_READ, (unsigned long) serial, (unsigned long) buf, (unsigned long) bufsize, 0); - if (n < 0) - return -errno; - - if ((size_t) n <= bufsize) { - buf[n] = 0; /* NUL terminate, just in case */ - - if (ret) - *ret = TAKE_PTR(buf); - if (ret_size) - *ret_size = n; - - return 0; - } - - bufsize = (size_t) n; - } -} |