mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-03 13:47:04 +03:00
integritysetup: Check args to prevent assert
The utility function parse_integrity_options is used to both validate integritytab options or validate and return values. In the case where we are validating only and we have specific value options we will assert.
This commit is contained in:
parent
d6eda677b3
commit
f4ae986649
@ -48,16 +48,20 @@ int parse_integrity_options(
|
||||
if (ret_commit_time)
|
||||
*ret_commit_time = tmp_commit_time;
|
||||
} else if ((val = startswith(word, "data-device="))) {
|
||||
r = free_and_strdup(ret_data_device, val);
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
if (ret_data_device) {
|
||||
r = free_and_strdup(ret_data_device, val);
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
}
|
||||
} else if ((val = startswith(word, "integrity-algorithm="))) {
|
||||
r = free_and_strdup(ret_integrity_alg, val);
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
r = supported_integrity_algorithm(*ret_integrity_alg);
|
||||
r = supported_integrity_algorithm(val);
|
||||
if (r < 0)
|
||||
return r;
|
||||
if (ret_integrity_alg) {
|
||||
r = free_and_strdup(ret_integrity_alg, val);
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
}
|
||||
} else
|
||||
log_warning("Encountered unknown option '%s', ignoring.", word);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user