From 2f82ab63ac64c0c9d0174a6e9462e6438bea4a15 Mon Sep 17 00:00:00 2001 From: fedir Date: Tue, 20 May 2025 09:24:07 +0200 Subject: [PATCH] Fixed undefined permission check errors --- src/perm_permissions_table.c | 3 +++ src/temp_permissions_table.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/perm_permissions_table.c b/src/perm_permissions_table.c index e1bcd98..dc088ff 100644 --- a/src/perm_permissions_table.c +++ b/src/perm_permissions_table.c @@ -207,6 +207,9 @@ void destroy_perm_permissions_table(void) { sqlite3_close(perm_database); } */ access_t check_perm_access_noparent(const char *filename, struct process_info pi) { + if (pi.name == NULL) + return NDEF; + access_t ret = NDEF; sqlite3_stmt *stmt = NULL; const char *sql = "SELECT mode FROM permissions WHERE executable = ?1 " diff --git a/src/temp_permissions_table.c b/src/temp_permissions_table.c index 13f471e..f483d2c 100644 --- a/src/temp_permissions_table.c +++ b/src/temp_permissions_table.c @@ -254,6 +254,8 @@ access_t check_temp_access(const char *filename, struct process_info pi) { */ int set_temp_access(const char *filename, struct process_info pi, set_mode_t mode) { + if (pi.PID == 0) + return NDEF; pthread_rwlock_wrlock(&temp_permissions_table_lock); struct temp_process_permissions *permission_entry = get(&temp_permissions_table, pi.PID);