Skip to content

Commit 4ac9c30

Browse files
author
Tom Fay
authored
add support for macho universal binaries (#2)
1 parent 4b17361 commit 4ac9c30

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

rustaudit.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,10 @@ var (
5454
ErrNoRustDepInfo = errors.New("rust dependency information not found")
5555

5656
// Headers for different binary types
57-
elfHeader = []byte("\x7FELF")
58-
peHeader = []byte("MZ")
59-
machoHeader = []byte("\xFE\xED\xFA")
57+
elfHeader = []byte("\x7FELF")
58+
peHeader = []byte("MZ")
59+
machoHeader = []byte("\xFE\xED\xFA")
60+
machoUniversalHeader = []byte("\xCA\xFE\xBA\xBE")
6061
)
6162

6263
func GetDependencyInfo(r io.ReaderAt) (VersionInfo, error) {
@@ -81,7 +82,7 @@ func GetDependencyInfo(r io.ReaderAt) (VersionInfo, error) {
8182
return VersionInfo{}, ErrUnknownFileFormat
8283
}
8384
x = &peExe{f}
84-
case bytes.HasPrefix(header, machoHeader):
85+
case bytes.HasPrefix(header, machoHeader) || bytes.HasPrefix(header, machoUniversalHeader):
8586
f, err := macho.NewFile(r)
8687
if err != nil {
8788
return VersionInfo{}, ErrUnknownFileFormat

0 commit comments

Comments
 (0)