diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 03:50:42 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 03:50:42 +0000 |
commit | 78e9bb837c258ac0ec7712b3d612cc2f407e731e (patch) | |
tree | f515d16b6efd858a9aeb5b0ef5d6f90bf288283d /src/shared/keyring-util.c | |
parent | Adding debian version 255.5-1. (diff) | |
download | systemd-78e9bb837c258ac0ec7712b3d612cc2f407e731e.tar.xz systemd-78e9bb837c258ac0ec7712b3d612cc2f407e731e.zip |
Merging upstream version 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; - } -} |