@@ -338,9 +338,10 @@ func (cm *CollectorManager) CollectContainerEvents(id *ContainerId) {
338
338
// Check if execve event is already in container profile or if it has no path name (Some execve events do not have a path name).
339
339
if ! execEventExists (event , containerProfile .Execs ) || event .PathName == "" {
340
340
containerProfile .Execs = append (containerProfile .Execs , ExecCalls {
341
- Path : event .PathName ,
342
- Args : event .Args ,
343
- Envs : event .Env ,
341
+ Path : event .PathName ,
342
+ UpperLayer : event .UpperLayer ,
343
+ Args : event .Args ,
344
+ Envs : event .Env ,
344
345
})
345
346
}
346
347
}
@@ -571,7 +572,7 @@ func (cm *CollectorManager) mergeApplicationProfiles(existingApplicationProfile
571
572
// Merge execve events
572
573
filteredExecs := []ExecCalls {}
573
574
for _ , exec := range containerProfile .Execs {
574
- if ! execEventExists (& tracing.ExecveEvent {PathName : exec .Path , Args : exec .Args , Env : exec .Envs }, existingContainer .Execs ) {
575
+ if ! execEventExists (& tracing.ExecveEvent {PathName : exec .Path , UpperLayer : exec . UpperLayer , Args : exec .Args , Env : exec .Envs }, existingContainer .Execs ) {
575
576
filteredExecs = append (filteredExecs , exec )
576
577
}
577
578
}
@@ -768,7 +769,7 @@ func (cm *CollectorManager) OnContainerActivityEvent(event *tracing.ContainerAct
768
769
769
770
func execEventExists (execEvent * tracing.ExecveEvent , execCalls []ExecCalls ) bool {
770
771
for _ , call := range execCalls {
771
- if execEvent .PathName == call .Path && slices .Equal (execEvent .Args , call .Args ) && slices .Equal (execEvent .Env , call .Envs ) {
772
+ if execEvent .PathName == call .Path && slices .Equal (execEvent .Args , call .Args ) && slices .Equal (execEvent .Env , call .Envs ) && execEvent . UpperLayer == call . UpperLayer {
772
773
return true
773
774
}
774
775
}
0 commit comments