Blame SOURCES/fapolicyd-1.1.1-static.patch

6c7c4b
diff -urp fapolicyd-1.1.1.orig/src/library/event.c fapolicyd-1.1.1/src/library/event.c
6c7c4b
--- fapolicyd-1.1.1.orig/src/library/event.c	2022-01-28 15:23:58.000000000 -0500
6c7c4b
+++ fapolicyd-1.1.1/src/library/event.c	2022-01-30 20:11:05.516785465 -0500
6c7c4b
@@ -140,7 +140,14 @@ int new_event(const struct fanotify_even
6c7c4b
 
6c7c4b
 		// We need to reset everything now that execve has finished
6c7c4b
 		if (s->info->state == STATE_STATIC_PARTIAL && !rc) {
6c7c4b
-			s->info->state = STATE_STATIC;
6c7c4b
+			// If the static app itself launches an app right
6c7c4b
+			// away, go back to collecting.
6c7c4b
+			if (e->type & FAN_OPEN_EXEC_PERM)
6c7c4b
+				s->info->state = STATE_COLLECTING;
6c7c4b
+			else {
6c7c4b
+				s->info->state = STATE_STATIC;
6c7c4b
+				skip_path = 1;
6c7c4b
+			}
6c7c4b
 			evict = 0;
6c7c4b
 			skip_path = 1;
6c7c4b
 			subject_reset(s, EXE);