diff --git a/src/client/worker/signer.rs b/src/client/worker/signer.rs index 815e8fee394c8076dfb38d40966f4f713ee770a3..d00842ca082ff89a5539d9cda9b9a40e81190c84 100644 --- a/src/client/worker/signer.rs +++ b/src/client/worker/signer.rs @@ -68,6 +68,10 @@ impl SignHandler for RemoteSigner { key_id: item.key_id.clone(), }); } + if sign_segments.is_empty() { + *item.error.borrow_mut() = Err(Error::FileContentEmpty); + return item + } let result = self.client.sign_stream( tokio_stream::iter(sign_segments)).await; match result { diff --git a/src/util/error.rs b/src/util/error.rs index 270b76c44361d5edc3924cfd3ac0eec5e9ea051e..c05b35e7898031fadc72130806e0e8bfec266802 100644 --- a/src/util/error.rs +++ b/src/util/error.rs @@ -125,6 +125,8 @@ pub enum Error { PartialSuccessError, #[error("Error in sign or parse EFI image")] EFIError(String), + #[error("file content is empty")] + FileContentEmpty, } #[derive(Deserialize, Serialize, ToSchema)]