1
1
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:
Tony Asleson 2021-10-27 12:00:59 -05:00 committed by Yu Watanabe
parent d6eda677b3
commit f4ae986649

View File

@ -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);
}