11package  ebpf
22
33import  (
4- 	"bytes" 
54	"context" 
65	"encoding/binary" 
76	"fmt" 
@@ -211,6 +210,9 @@ func (t *Tracee) decodeEvents(ctx context.Context, sourceChan chan []byte) (<-ch
211210				PodUID :       containerInfo .Pod .UID ,
212211			}
213212
213+ 			commStr  :=  string (utils .TrimTrailingNUL (eCtx .Comm [:]))       // clean potential trailing null 
214+ 			utsNameStr  :=  string (utils .TrimTrailingNUL (eCtx .UtsName [:])) // clean potential trailing null 
215+ 
214216			flags  :=  parseContextFlags (containerData .ID , eCtx .Flags )
215217			syscall  :=  "" 
216218			if  eCtx .Syscall  !=  noSyscall  {
@@ -221,8 +223,6 @@ func (t *Tracee) decodeEvents(ctx context.Context, sourceChan chan []byte) (<-ch
221223				id  :=  events .ID (eCtx .Syscall )
222224				syscallDef  :=  events .Core .GetDefinitionByID (id )
223225				if  syscallDef .NotValid () {
224- 					commStr  :=  string (eCtx .Comm [:bytes .IndexByte (eCtx .Comm [:], 0 )])
225- 					utsNameStr  :=  string (eCtx .UtsName [:bytes .IndexByte (eCtx .UtsName [:], 0 )])
226226					logger .Debugw (
227227						fmt .Sprintf ("Event %s with an invalid syscall id %d" , evtName , id ),
228228						"Comm" , commStr ,
@@ -254,8 +254,8 @@ func (t *Tracee) decodeEvents(ctx context.Context, sourceChan chan []byte) (<-ch
254254			evt .UserID  =  int (eCtx .Uid )
255255			evt .MountNS  =  int (eCtx .MntID )
256256			evt .PIDNS  =  int (eCtx .PidID )
257- 			evt .ProcessName  =  string ( bytes . TrimRight ( eCtx . Comm [:],  " \x00 " ))  // set and clean potential trailing null 
258- 			evt .HostName  =  string ( bytes . TrimRight ( eCtx . UtsName [:],  " \x00 " ))  // set and clean potential trailing null 
257+ 			evt .ProcessName  =  commStr 
258+ 			evt .HostName  =  utsNameStr 
259259			evt .CgroupID  =  uint (eCtx .CgroupID )
260260			evt .ContainerID  =  containerData .ID 
261261			evt .Container  =  containerData 
0 commit comments