summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2019-08-01 08:15:43 +0200
committerThe Plumber <50238977+systemd-rhel-bot@users.noreply.github.com>2019-12-18 13:15:38 +0100
commit5cdb2b0b2a0f8f89f97053b0633b8419506d4e28 (patch)
tree2659ae5326b99aeb002a66e7282af135a20906fd
parent0577d8378645c1ecd909b74403cefe31ed569398 (diff)
downloadsystemd-5cdb2b0b2a0f8f89f97053b0633b8419506d4e28.tar.gz
cryptsetup: don't assert on variable which is optional
https://github.com/systemd/systemd/commit/50d2eba27b9bfc77ef6b40e5721713846815418b#commitcomment-34519739 In add_crypttab_devices() split_keyspec is called on the keyfile argument, which may be NULL. (cherry picked from commit fef716b28be6e866b8afe995805d5ebe2af6bbfa) Related: #1763155
-rw-r--r--src/cryptsetup/cryptsetup-generator.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
index 7b234e37be..a09983b576 100644
--- a/src/cryptsetup/cryptsetup-generator.c
+++ b/src/cryptsetup/cryptsetup-generator.c
@@ -44,10 +44,14 @@ static int split_keyspec(const char *keyspec, char **ret_keyfile, char **ret_key
_cleanup_free_ char *keyfile = NULL, *keydev = NULL;
const char *c;
- assert(keyspec);
assert(ret_keyfile);
assert(ret_keydev);
+ if (!keyspec) {
+ *ret_keyfile = *ret_keydev = NULL;
+ return 0;
+ }
+
c = strrchr(keyspec, ':');
if (c) {
keyfile = strndup(keyspec, c-keyspec);