Skip to content

Invalid object file #15

@pagran

Description

@pagran

Code:

package main

import (
	"fmt"
	"github.com/Binject/debug/goobj2"
)

func main() {
	const magicHeaderName = "magic/example"

	magicData := []byte("{}")

	original, err := goobj2.Parse("a.obj", "main", nil)
	if err != nil {
		panic(err)
	}

	original.ArchiveMembers = append(original.ArchiveMembers, goobj2.ArchiveMember{
		ArchiveHeader: goobj2.ArchiveHeader{
			Name: magicHeaderName,
			Size: int64(len(magicData)),
			Data: magicData,
		},
		IsDataObj: true,
	})

	if err := original.Write("b.obj"); err != nil {
		panic(err)
	}

	_, err = goobj2.Parse("b.obj", "main", nil)
	if err != nil {
		panic(err)
	}
}

Output:

panic: EOF

goroutine 1 [running]:
main.main()
	main.go:33 +0x527

Error from here: https://github.com/Binject/debug/blob/master/goobj2/file.go#L550

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions