zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 76e8b297b1f0c6013d71e9ae670cb4006b3e4b76 (tree)
parent a57b0a0f2fe5a3a0af740495c60d4f3d0b6abfec
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Mon, 24 Feb 2025 17:36:23 -0800

Package.Manifest: enforce name limit of 32

Diffstat:
Msrc/Package/Manifest.zig | 11+++++++++++
1 file changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/Package/Manifest.zig b/src/Package/Manifest.zig @@ -9,6 +9,7 @@ const Package = @import("../Package.zig"); pub const max_bytes = 10 * 1024 * 1024; pub const basename = "build.zig.zon"; +pub const max_name_len = 32; pub const Dependency = struct { location: Location, @@ -365,6 +366,11 @@ const Parse = struct { if (!std.zig.isValidId(name)) return fail(p, main_token, "name must be a valid bare zig identifier (hint: switch from string to enum literal)", .{}); + if (name.len > max_name_len) + return fail(p, main_token, "name '{s}' exceeds max length of {d}", .{ + std.zig.fmtId(name), max_name_len, + }); + return name; } @@ -375,6 +381,11 @@ const Parse = struct { if (mem.startsWith(u8, ident_name, "@")) return fail(p, main_token, "name must be a valid bare zig identifier", .{}); + if (ident_name.len > max_name_len) + return fail(p, main_token, "name '{s}' exceeds max length of {d}", .{ + std.zig.fmtId(ident_name), max_name_len, + }); + return ident_name; }