mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-30 12:44:39 +00:00
agent/random: Ensure data.len > 0
Also adds a test to cover this scenario Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
This commit is contained in:
parent
33c953ace4
commit
1cad3a4696
@ -3,7 +3,7 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
//
|
//
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::{ensure, Result};
|
||||||
use nix::errno::Errno;
|
use nix::errno::Errno;
|
||||||
use nix::fcntl::{self, OFlag};
|
use nix::fcntl::{self, OFlag};
|
||||||
use nix::sys::stat::Mode;
|
use nix::sys::stat::Mode;
|
||||||
@ -24,6 +24,9 @@ type IoctlRequestType = libc::c_ulong;
|
|||||||
#[instrument]
|
#[instrument]
|
||||||
pub fn reseed_rng(data: &[u8]) -> Result<()> {
|
pub fn reseed_rng(data: &[u8]) -> Result<()> {
|
||||||
let len = data.len() as libc::c_long;
|
let len = data.len() as libc::c_long;
|
||||||
|
|
||||||
|
ensure!(len > 0, "missing entropy data");
|
||||||
|
|
||||||
fs::write(RNGDEV, data)?;
|
fs::write(RNGDEV, data)?;
|
||||||
|
|
||||||
let f = {
|
let f = {
|
||||||
@ -82,4 +85,11 @@ mod tests {
|
|||||||
assert!(!ret.is_ok());
|
assert!(!ret.is_ok());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_reseed_rng_zero_data() {
|
||||||
|
let seed = [];
|
||||||
|
let ret = reseed_rng(&seed);
|
||||||
|
assert!(!ret.is_ok());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user