commit de62bd06472e5603fd2afb6f50d688d54f4098b4 (tree)
parent 0efc6a35bead74b5faffbc87b446b5087f1bb99b
Author: Cody Tapscott <topolarity@tapscott.me>
Date: Tue, 19 Jul 2022 23:31:38 -0700
macho: Pass sections by pointer when slicing names
We were accidentally returning a pointer to stack memory, because these
arguments were passed by value. It's just an accident that stage 1 was
passing these by reference, so things were alright until stage 3.
Diffstat:
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/std/macho.zig b/lib/std/macho.zig
@@ -653,7 +653,7 @@ pub const segment_command_64 = extern struct {
nsects: u32 = 0,
flags: u32 = 0,
- pub fn segName(seg: segment_command_64) []const u8 {
+ pub fn segName(seg: *const segment_command_64) []const u8 {
return parseName(&seg.segname);
}
};
@@ -772,11 +772,11 @@ pub const section_64 = extern struct {
/// reserved
reserved3: u32 = 0,
- pub fn sectName(sect: section_64) []const u8 {
+ pub fn sectName(sect: *const section_64) []const u8 {
return parseName(§.sectname);
}
- pub fn segName(sect: section_64) []const u8 {
+ pub fn segName(sect: *const section_64) []const u8 {
return parseName(§.segname);
}