@@ -34,23 +34,23 @@ func GetProgramByName(name string) (*ebpf.Program, error) {
3434
3535 for {
3636 if progID , err = ebpf .ProgramGetNextID (progID ); err != nil {
37- err = fmt .Errorf ("failed to get system next program id, err is %v\n " , err )
38- return nil , err
37+ return nil , fmt .Errorf ("failed to get system next program id: %w" , err )
3938 }
4039
4140 if targetProg , err = ebpf .NewProgramFromID (progID ); err != nil {
42- err = fmt .Errorf ("failed to get new program from id:%v, err is %v\n " , progID , err )
43- return nil , err
41+ return nil , fmt .Errorf ("failed to get new program from id:%v: %w" , progID , err )
4442 }
4543
4644 if targetProgInfo , err = targetProg .Info (); err != nil {
47- err = fmt . Errorf ( "failed to get new program info from fd:%v, err is %v \n " , targetProg , err )
48- return nil , err
45+ targetProg . Close ( )
46+ return nil , fmt . Errorf ( "failed to get new program info from fd:%v: %w" , targetProg , err )
4947 }
5048
5149 if strings .Compare (targetProgInfo .Name , name ) == 0 {
5250 return targetProg , nil
5351 }
52+
53+ targetProg .Close ()
5454 }
5555}
5656
@@ -66,22 +66,22 @@ func GetMapByName(name string) (*ebpf.Map, error) {
6666
6767 for {
6868 if mapID , err = ebpf .MapGetNextID (mapID ); err != nil {
69- err = fmt .Errorf ("failed to get system next map id, err is %v\n " , err )
70- return nil , err
69+ return nil , fmt .Errorf ("failed to get system next map id: %w" , err )
7170 }
7271
7372 if targetMap , err = ebpf .NewMapFromID (mapID ); err != nil {
74- err = fmt .Errorf ("failed to get new map from id:%v, err is %v\n " , mapID , err )
75- return nil , err
73+ return nil , fmt .Errorf ("failed to get new map from id:%v: %w" , mapID , err )
7674 }
7775
7876 if targetMapInfo , err = targetMap .Info (); err != nil {
79- err = fmt . Errorf ( "failed to get new map info from fd:%v, err is %v \n " , targetMap , err )
80- return nil , err
77+ targetMap . Close ( )
78+ return nil , fmt . Errorf ( "failed to get new map info from fd:%v: %w" , targetMap , err )
8179 }
8280
8381 if strings .Compare (targetMapInfo .Name , name ) == 0 {
8482 return targetMap , nil
8583 }
84+
85+ targetMap .Close ()
8686 }
8787}
0 commit comments