/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include <getopt.h>
+#include <unistd.h>
#include "creds-util.h"
#include "dirent-util.h"
switch (arg_transcode) {
case TRANSCODE_BASE64: {
- char *buf = NULL;
+ char *buf;
ssize_t l;
l = base64mem_full(input, input_size, 79, &buf);
return r;
default:
- assert_not_reached("Unexpected transcoding mode");
+ assert_not_reached();
}
}
static int verb_cat(int argc, char **argv, void *userdata) {
_cleanup_(closedirp) DIR *d = NULL;
int r, ret = 0;
- char **cn;
r = open_credential_directory(&d);
if (r == -ENXIO)
assert(argc == 3);
- input_path = (isempty(argv[1]) || streq(argv[1], "-")) ? NULL : argv[1];
+ input_path = empty_or_dash(argv[1]) ? NULL : argv[1];
if (input_path)
r = read_full_file_full(AT_FDCWD, input_path, UINT64_MAX, CREDENTIAL_SIZE_MAX, READ_FULL_FILE_SECURE|READ_FULL_FILE_FAIL_WHEN_LARGER, NULL, &plaintext, &plaintext_size);
if (r < 0)
return log_error_errno(r, "Failed to read plaintext: %m");
- output_path = (isempty(argv[2]) || streq(argv[2], "-")) ? NULL : argv[2];
+ output_path = empty_or_dash(argv[2]) ? NULL : argv[2];
if (arg_name_any)
name = NULL;
assert(IN_SET(argc, 2, 3));
- input_path = (isempty(argv[1]) || streq(argv[1], "-")) ? NULL : argv[1];
+ input_path = empty_or_dash(argv[1]) ? NULL : argv[1];
if (input_path)
r = read_full_file_full(AT_FDCWD, argv[1], UINT64_MAX, CREDENTIAL_ENCRYPTED_SIZE_MAX, READ_FULL_FILE_UNBASE64|READ_FULL_FILE_FAIL_WHEN_LARGER, NULL, &input, &input_size);
arg_with_key = CRED_AES256_GCM_BY_TPM2_HMAC;
break;
- case ARG_TPM2_DEVICE: {
- _cleanup_free_ char *device = NULL;
-
+ case ARG_TPM2_DEVICE:
if (streq(optarg, "list"))
return tpm2_list_devices();
- if (!streq(optarg, "auto")) {
- device = strdup(optarg);
- if (!device)
- return log_oom();
- }
-
- arg_tpm2_device = TAKE_PTR(device);
+ arg_tpm2_device = streq(optarg, "auto") ? NULL : optarg;
break;
- }
-
- case ARG_TPM2_PCRS: {
- uint32_t mask;
+ case ARG_TPM2_PCRS:
if (isempty(optarg)) {
arg_tpm2_pcr_mask = 0;
break;
}
+ uint32_t mask;
r = tpm2_parse_pcrs(optarg, &mask);
if (r < 0)
return r;
arg_tpm2_pcr_mask |= mask;
break;
- }
case ARG_NAME:
if (isempty(optarg)) {
return -EINVAL;
default:
- assert_not_reached("Unhandled option");
+ assert_not_reached();
}
}