From 742bb0693d93638d3b45ddeda97937b6160ee0b3 Mon Sep 17 00:00:00 2001 From: Ondrej Kozina Date: Tue, 3 Oct 2023 15:13:58 +0200 Subject: [PATCH] Fix return value in vk description parser. Always return 0 on success or predefined negative errno otherwise. --- src/cryptsetup.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/cryptsetup.c b/src/cryptsetup.c index db83641a..537e7db7 100644 --- a/src/cryptsetup.c +++ b/src/cryptsetup.c @@ -1629,13 +1629,10 @@ static int parse_vk_description(const char *key_description, char **ret_key_desc /* apply default key type */ if (*key_description != '%') - r = asprintf(&tmp, "%%user:%s", key_description); - else { - tmp = strdup(key_description); - r = tmp ? 0 : -ENOMEM; - } - - if (r >= 0) + r = asprintf(&tmp, "%%user:%s", key_description) < 0 ? -EINVAL : 0; + else + r = (tmp = strdup(key_description)) ? 0 : -ENOMEM; + if (!r) *ret_key_description = tmp; return r;