From a226a3c2c4a8efc0e8303d2ec243f590bfd4e610 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Mon, 8 May 2023 19:31:57 +0300 Subject: fix(tvix/store/nar/renderer): handle digest error Change-Id: I183580732e1dd33ed079a2593097ec790def0a55 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8554 Tested-by: BuildkiteCI Reviewed-by: tazjin --- tvix/store/src/nar/renderer.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'tvix/store') diff --git a/tvix/store/src/nar/renderer.rs b/tvix/store/src/nar/renderer.rs index 335f336434..a061dad9bb 100644 --- a/tvix/store/src/nar/renderer.rs +++ b/tvix/store/src/nar/renderer.rs @@ -58,8 +58,13 @@ impl NARRendere .map_err(RenderError::NARWriterError)?; } proto::node::Node::File(proto_file_node) => { - // get the digest we're referring to - let digest = &proto_file_node.digest; + let digest: [u8; 32] = + proto_file_node.digest.to_owned().try_into().map_err(|_e| { + RenderError::StoreError(crate::Error::StorageError( + "invalid digest len in file node".to_string(), + )) + })?; + // query blob_service for blob_meta let resp = self .blob_service @@ -105,7 +110,6 @@ impl NARRendere } } proto::node::Node::Directory(proto_directory_node) => { - // get the digest we're referring to let digest: [u8; 32] = proto_directory_node .digest -- cgit 1.4.1