aboutsummaryrefslogtreecommitdiffstats
path: root/prog/validation.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-12-28 12:58:10 +0100
committerDmitry Vyukov <dvyukov@google.com>2015-12-28 12:58:10 +0100
commit4eda9b07e5f25565333fdd8eed4e33850bd0f828 (patch)
tree45d2ec43dbc07109ea665432e68bab98f0b2a15c /prog/validation.go
parent9f9ae3fcc3efc74cbcb805b44575b5c140fa97ee (diff)
prog: don't serialize paddings
Paddings in serialized programs are unnecessary and confusing. Instead restore them implicitly. Also use [,,,,] for arrays.
Diffstat (limited to 'prog/validation.go')
-rw-r--r--prog/validation.go9
1 files changed, 3 insertions, 6 deletions
diff --git a/prog/validation.go b/prog/validation.go
index a06f98de6..cc6d1ae61 100644
--- a/prog/validation.go
+++ b/prog/validation.go
@@ -18,12 +18,6 @@ func (p *Prog) validate() error {
ctx := &validCtx{make(map[*Arg]bool), make(map[*Arg]*Arg)}
for _, c := range p.Calls {
if err := c.validate(ctx); err != nil {
-
- fmt.Printf("PROGRAM:\n")
- for _, c := range p.Calls {
- fmt.Printf(" %v: %+v %p\n", c.Meta.Name, c.Args, c.Ret)
- }
-
return err
}
}
@@ -36,6 +30,9 @@ func (p *Prog) validate() error {
}
func (c *Call) validate(ctx *validCtx) error {
+ if c.Meta == nil {
+ return fmt.Errorf("call does not have meta information")
+ }
if len(c.Args) != len(c.Meta.Args) {
return fmt.Errorf("syscall %v: wrong number of arguments, want %v, got %v", c.Meta.Name, len(c.Meta.Args), len(c.Args))
}