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);