1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-07 21:18:41 +03:00

core/exec-credential: emit correct error on invalid cred source

The (!source && !search_path) branch is effectively not reached,
but rather confusing. Let's return -EINVAL properly.
This commit is contained in:
Mike Yuan 2024-07-31 23:38:25 +02:00
parent 85b265c964
commit 4c00458e99
No known key found for this signature in database
GPG Key ID: 417471C0A40F58B3

View File

@ -547,10 +547,10 @@ static int load_credential(
ReadFullFileFlags flags = READ_FULL_FILE_SECURE|READ_FULL_FILE_FAIL_WHEN_LARGER;
_cleanup_strv_free_ char **search_path = NULL;
_cleanup_(erase_and_freep) char *data = NULL;
_cleanup_free_ char *bindname = NULL;
const char *source = NULL;
bool missing_ok = true;
bool missing_ok;
_cleanup_(erase_and_freep) char *data = NULL;
size_t size, maxsz;
int r;
@ -603,7 +603,7 @@ static int load_credential(
missing_ok = true;
} else
source = NULL;
return -EINVAL;
if (args->encrypted) {
flags |= READ_FULL_FILE_UNBASE64;
@ -638,7 +638,7 @@ static int load_credential(
bindname,
&data, &size);
else
r = -ENOENT;
assert_not_reached();
if (r == -ENOENT && (missing_ok || hashmap_contains(args->context->set_credentials, id))) {
/* Make a missing inherited credential non-fatal, let's just continue. After all apps