From 4666c2b8600428c9a10c8771ed1a7900aa9d2d35 Mon Sep 17 00:00:00 2001 From: "linfeng.ouyang" Date: Sun, 4 Jan 2026 12:17:37 +0800 Subject: [PATCH] fix(encode): 32-bit safe pack header check Signed-off-by: linfeng.ouyang --- src/internal/pack/encode.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/internal/pack/encode.rs b/src/internal/pack/encode.rs index bd7796b3..1ffc7f3b 100644 --- a/src/internal/pack/encode.rs +++ b/src/internal/pack/encode.rs @@ -133,7 +133,7 @@ fn encode_header(object_number: usize) -> Vec { 0, 0, 0, 2, // generates version 2 only. ]; assert_ne!(object_number, 0); // guarantee self.number_of_objects!=0 - assert!(object_number < (1 << 32)); + assert!(object_number <= u32::MAX as usize); //TODO: GitError:numbers of objects should < 4G , result.append((object_number as u32).to_be_bytes().to_vec().as_mut()); // to 4 bytes (network byte order aka. big-endian) result