about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tvix/store/src/pathinfoservice/grpc.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/tvix/store/src/pathinfoservice/grpc.rs b/tvix/store/src/pathinfoservice/grpc.rs
index f05fe2c04d43..4ec1467525f9 100644
--- a/tvix/store/src/pathinfoservice/grpc.rs
+++ b/tvix/store/src/pathinfoservice/grpc.rs
@@ -38,7 +38,15 @@ impl PathInfoService for GRPCPathInfoService {
             .await;
 
         match path_info {
-            Ok(path_info) => Ok(Some(path_info.into_inner())),
+            Ok(path_info) => {
+                let path_info = path_info.into_inner();
+
+                path_info
+                    .validate()
+                    .map_err(|e| Error::StorageError(format!("invalid pathinfo: {}", e)))?;
+
+                Ok(Some(path_info))
+            }
             Err(e) if e.code() == Code::NotFound => Ok(None),
             Err(e) => Err(Error::StorageError(e.to_string())),
         }