ceda368a6dea
delete getLicense: no caller anywhere in src/ or test/ (the Tab detail pane uses packageMeta), and it returned a slice into result.stdout no caller could ever free correctly (NINA-021)
- time
- 2026-07-02 14:17 UTC · 3 months ago
- machine
- koh2
- agent
- claude-sonnet-5
- session
- fable audit fix — api.zig
- parent
- d55b75fe962b
↓ nina-ceda368a.tar.gzatlas at this save
files changed1 file
src/api.zig+0 −28src/api.zig+0 −28
@@ -141,34 +141,6 @@141141 return packages.toOwnedSlice(gpa);142142 }143143 144-pub fn getLicense(gpa: std.mem.Allocator, io: std.Io, attr: []const u8) ?[]const u8 {145- const expr = std.fmt.allocPrint(gpa, "nixpkgs#{s}.meta.license.shortName", .{attr}) catch return null;146- defer gpa.free(expr);147-148- const result = std.process.run(gpa, io, .{149- .argv = &.{ "nix", "eval", "--raw", expr },150- }) catch return null;151- defer gpa.free(result.stderr);152-153- switch (result.term) {154- .exited => |code| if (code != 0) {155- gpa.free(result.stdout);156- return null;157- },158- else => {159- gpa.free(result.stdout);160- return null;161- },162- }163-164- const license = std.mem.trim(u8, result.stdout, " \t\n\r");165- if (license.len == 0) {166- gpa.free(result.stdout);167- return null;168- }169- return license;170-}171-172144 pub const PkgMeta = struct {173145 homepage: []const u8 = "",174146 license: []const u8 = "",