mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-19 08:28:19 +00:00
runtime-rs: fix panic when hypervisor mismatches with configuration
If a wrong configuration.toml file is used by accidentally, runtime-rs binary could run into panic because of unwrap(). This fixes the panic by returning errors instead of unwrap(). fixes: #8565 Signed-off-by: Liu Bo <liub.liubo@gmail.com>
This commit is contained in:
parent
9d38f01c2f
commit
bf97051f11
@ -479,8 +479,18 @@ impl Annotation {
|
|||||||
let u32_err = io::Error::new(io::ErrorKind::InvalidData, "parse u32 error".to_string());
|
let u32_err = io::Error::new(io::ErrorKind::InvalidData, "parse u32 error".to_string());
|
||||||
let u64_err = io::Error::new(io::ErrorKind::InvalidData, "parse u64 error".to_string());
|
let u64_err = io::Error::new(io::ErrorKind::InvalidData, "parse u64 error".to_string());
|
||||||
let i32_err = io::Error::new(io::ErrorKind::InvalidData, "parse i32 error".to_string());
|
let i32_err = io::Error::new(io::ErrorKind::InvalidData, "parse i32 error".to_string());
|
||||||
let hv = config.hypervisor.get_mut(hypervisor_name).unwrap();
|
let hv = config.hypervisor.get_mut(hypervisor_name).ok_or_else(|| {
|
||||||
let ag = config.agent.get_mut(agent_name).unwrap();
|
io::Error::new(
|
||||||
|
io::ErrorKind::InvalidData,
|
||||||
|
format!("Invalid hypervisor name {}", hypervisor_name),
|
||||||
|
)
|
||||||
|
})?;
|
||||||
|
let ag = config.agent.get_mut(agent_name).ok_or_else(|| {
|
||||||
|
io::Error::new(
|
||||||
|
io::ErrorKind::InvalidData,
|
||||||
|
format!("Invalid agent name {}", agent_name),
|
||||||
|
)
|
||||||
|
})?;
|
||||||
for (key, value) in &self.annotations {
|
for (key, value) in &self.annotations {
|
||||||
if hv.security_info.is_annotation_enabled(key) {
|
if hv.security_info.is_annotation_enabled(key) {
|
||||||
match key.as_str() {
|
match key.as_str() {
|
||||||
|
Loading…
Reference in New Issue
Block a user