Commit 0367f18cb9

poypoyan <srazin123@gmail.com>
2024-10-11 21:32:10
std.mem.readVarInt: assert ReturnType is large enough (#20946)
Fixes #20521
1 parent 13fb68c
Changed files (1)
lib
lib/std/mem.zig
@@ -1602,6 +1602,7 @@ test containsAtLeast {
 /// T specifies the return type, which must be large enough to store
 /// the result.
 pub fn readVarInt(comptime ReturnType: type, bytes: []const u8, endian: Endian) ReturnType {
+    assert(@typeInfo(ReturnType).int.bits >= bytes.len * 8);
     const bits = @typeInfo(ReturnType).int.bits;
     const signedness = @typeInfo(ReturnType).int.signedness;
     const WorkType = std.meta.Int(signedness, @max(16, bits));