diff options
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/csource/csource.go | 2 | ||||
| -rw-r--r-- | pkg/ipc/ipc_linux.go | 2 | ||||
| -rw-r--r-- | pkg/ipc/ipc_simple.go | 5 |
3 files changed, 5 insertions, 4 deletions
diff --git a/pkg/csource/csource.go b/pkg/csource/csource.go index 1bd818962..b0d44a94f 100644 --- a/pkg/csource/csource.go +++ b/pkg/csource/csource.go @@ -72,7 +72,7 @@ func Write(p *prog.Prog, opts Options) ([]byte, error) { return nil, fmt.Errorf("csource: invalid opts: %v", err) } exec := make([]byte, prog.ExecBufferSize) - if err := p.SerializeForExec(exec, 0); err != nil { + if _, err := p.SerializeForExec(exec, 0); err != nil { return nil, fmt.Errorf("failed to serialize program: %v", err) } w := new(bytes.Buffer) diff --git a/pkg/ipc/ipc_linux.go b/pkg/ipc/ipc_linux.go index 793611b91..0279b0ee8 100644 --- a/pkg/ipc/ipc_linux.go +++ b/pkg/ipc/ipc_linux.go @@ -128,7 +128,7 @@ func (env *Env) Close() error { func (env *Env) Exec(opts *ExecOpts, p *prog.Prog) (output []byte, info []CallInfo, failed, hanged bool, err0 error) { if p != nil { // Copy-in serialized program. - if err := p.SerializeForExec(env.in, env.pid); err != nil { + if _, err := p.SerializeForExec(env.in, env.pid); err != nil { err0 = fmt.Errorf("executor %v: failed to serialize: %v", env.pid, err) return } diff --git a/pkg/ipc/ipc_simple.go b/pkg/ipc/ipc_simple.go index 4c2ac6925..50dcce661 100644 --- a/pkg/ipc/ipc_simple.go +++ b/pkg/ipc/ipc_simple.go @@ -70,7 +70,8 @@ func (env *Env) Exec(opts *ExecOpts, p *prog.Prog) (output []byte, info []CallIn defer os.RemoveAll(dir) data := make([]byte, prog.ExecBufferSize) - if err := p.SerializeForExec(data, env.pid); err != nil { + n, err := p.SerializeForExec(data, env.pid) + if err != nil { err0 = err return } @@ -78,7 +79,7 @@ func (env *Env) Exec(opts *ExecOpts, p *prog.Prog) (output []byte, info []CallIn binary.Write(inbuf, binary.LittleEndian, uint64(env.config.Flags)) binary.Write(inbuf, binary.LittleEndian, uint64(opts.Flags)) binary.Write(inbuf, binary.LittleEndian, uint64(env.pid)) - inbuf.Write(data) + inbuf.Write(data[:n]) cmd := exec.Command(env.bin[0], env.bin[1:]...) cmd.Env = []string{} |
