Skip to content

Commit

Permalink
fix(dhcp): Check for nil cni args
Browse files Browse the repository at this point in the history
  • Loading branch information
YitzyD committed May 25, 2022
1 parent f734678 commit 2353add
Showing 1 changed file with 15 additions and 8 deletions.
23 changes: 15 additions & 8 deletions plugins/ipam/dhcp/daemon.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,19 +82,24 @@ func (d *DHCP) Allocate(args *skel.CmdArgs, result *current.Result) error {
return fmt.Errorf("error parsing netconf: %v", err)
}

cniArgs := combineCNIArgs(args.Args, conf.Args.A)
netconfCniArgs := GenericIPAMArgs{}
if conf.Args != nil {
netconfCniArgs = conf.Args.A
}
cniArgs := combineCNIArgs(args.Args, netconfCniArgs)

optsRequesting, optsProviding, err := prepareOptions(cniArgs, conf.IPAM.ProvideOptions, conf.IPAM.RequestOptions)
if err != nil {
return err
}

ipamArgs := IPAMArgs{}
ipamArgsJson, _ := json.Marshal(conf.Args.A)
if err := json.Unmarshal(ipamArgsJson, &ipamArgs); err != nil {
return fmt.Errorf("error parsing ipamArgs: %v", err)
if conf.Args != nil {
ipamArgsJson, _ := json.Marshal(conf.Args.A)
if err := json.Unmarshal(ipamArgsJson, &ipamArgs); err != nil {
return fmt.Errorf("error parsing ipamArgs: %v", err)
}
}

clientID := generateClientID(args.ContainerID, conf.Name, args.IfName)
leaseKey := clientID
if ipamArgs.ClientID != "" {
Expand Down Expand Up @@ -134,9 +139,11 @@ func (d *DHCP) Release(args *skel.CmdArgs, reply *struct{}) error {
}

ipamArgs := IPAMArgs{}
ipamArgsJson, _ := json.Marshal(conf.Args.A)
if err := json.Unmarshal(ipamArgsJson, &ipamArgs); err != nil {
return fmt.Errorf("error parsing ipamArgs: %v", err)
if conf.Args != nil {
ipamArgsJson, _ := json.Marshal(conf.Args.A)
if err := json.Unmarshal(ipamArgsJson, &ipamArgs); err != nil {
return fmt.Errorf("error parsing ipamArgs: %v", err)
}
}

clientID := generateClientID(args.ContainerID, conf.Name, args.IfName)
Expand Down

0 comments on commit 2353add

Please sign in to comment.