Fixed undefined permission check errors

This commit is contained in:
fedir 2025-05-20 09:24:07 +02:00
parent 90d94c7615
commit 2f82ab63ac
Signed by: fedir
GPG Key ID: C959EE85F0C9362C
2 changed files with 5 additions and 0 deletions

View File

@ -207,6 +207,9 @@ void destroy_perm_permissions_table(void) { sqlite3_close(perm_database); }
*/ */
access_t check_perm_access_noparent(const char *filename, access_t check_perm_access_noparent(const char *filename,
struct process_info pi) { struct process_info pi) {
if (pi.name == NULL)
return NDEF;
access_t ret = NDEF; access_t ret = NDEF;
sqlite3_stmt *stmt = NULL; sqlite3_stmt *stmt = NULL;
const char *sql = "SELECT mode FROM permissions WHERE executable = ?1 " const char *sql = "SELECT mode FROM permissions WHERE executable = ?1 "

View File

@ -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, int set_temp_access(const char *filename, struct process_info pi,
set_mode_t mode) { set_mode_t mode) {
if (pi.PID == 0)
return NDEF;
pthread_rwlock_wrlock(&temp_permissions_table_lock); pthread_rwlock_wrlock(&temp_permissions_table_lock);
struct temp_process_permissions *permission_entry = struct temp_process_permissions *permission_entry =
get(&temp_permissions_table, pi.PID); get(&temp_permissions_table, pi.PID);