From d534ab9b04ee6b4e2ecd57eac1e5b7525090fcdf Mon Sep 17 00:00:00 2001 From: Hieu Nguyen Date: Thu, 2 Apr 2026 17:16:59 +0700 Subject: [PATCH] fix: gracefully handle invalid base64 in grpc-status-details-bin header --- tonic/src/status.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tonic/src/status.rs b/tonic/src/status.rs index eeceb32b4..65fd0c4a5 100644 --- a/tonic/src/status.rs +++ b/tonic/src/status.rs @@ -476,8 +476,11 @@ impl Status { let details = match header_map.get(Self::GRPC_STATUS_DETAILS) { Some(header) => crate::util::base64::STANDARD .decode(header.as_bytes()) - .expect("Invalid status header, expected base64 encoded value") - .into(), + .map(Bytes::from) + .unwrap_or_else(|_| { + warn!("error decoding grpc-status-details-bin header"); + Bytes::new() + }), None => Bytes::new(), };