motiejus/zig

fork of https://codeberg.org/ziglang/zig
git clone https://git.jakstys.lt/motiejus/zig.git
Log | Tree | Refs | README | LICENSE

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:
Mlib/std/macho.zig | 6+++---
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(&sect.sectname); } - pub fn segName(sect: section_64) []const u8 { + pub fn segName(sect: *const section_64) []const u8 { return parseName(&sect.segname); }