1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-06 08:26:52 +03:00

cryptsetup: fix OOM handling when parsing mount options

This commit is contained in:
Lennart Poettering 2013-10-02 19:36:28 +02:00
parent cbb13b2a53
commit 4b93637fd7
Notes: Lennart Poettering 2013-10-04 17:11:46 +02:00
Backport: bugfix

View File

@ -74,7 +74,7 @@ static int parse_one_option(const char *option) {
t = strdup(option+7);
if (!t)
return -ENOMEM;
return log_oom();
free(opt_cipher);
opt_cipher = t;
@ -89,9 +89,10 @@ static int parse_one_option(const char *option) {
} else if (startswith(option, "tcrypt-keyfile=")) {
opt_type = CRYPT_TCRYPT;
if (path_is_absolute(option+15))
opt_tcrypt_keyfiles = strv_append(opt_tcrypt_keyfiles, strdup(option+15));
else
if (path_is_absolute(option+15)) {
if (strv_extend(&opt_tcrypt_keyfiles, option + 15) < 0)
return log_oom();
} else
log_error("Key file path '%s' is not absolute. Ignoring.", option+15);
} else if (startswith(option, "keyfile-size=")) {
@ -113,7 +114,7 @@ static int parse_one_option(const char *option) {
t = strdup(option+5);
if (!t)
return -ENOMEM;
return log_oom();
free(opt_hash);
opt_hash = t;