- add selinux patch for bin/sbin equivalence - "fapolicyd-cli --file add" crashes when processing sockets Resolves: RHEL-105425 Signed-off-by: Radovan Sroka <rsroka@redhat.com>
49 lines
1.4 KiB
Diff
49 lines
1.4 KiB
Diff
From 73770c9111800cb5a1e62203e460ae9149307d49 Mon Sep 17 00:00:00 2001
|
|
From: Radovan Sroka <rsroka@redhat.com>
|
|
Date: Mon, 28 Jul 2025 18:44:08 +0200
|
|
Subject: [PATCH] Fix segfault when socket is inside of the directory
|
|
|
|
$ socat UNIX-LISTEN:"/home/rsroka/dir/socket" /dev/null &
|
|
|
|
[ ERROR ]: Cannot open /home/rsroka/dir/socket
|
|
Program received signal SIGSEGV, Segmentation fault.
|
|
|
|
Signed-off-by: Radovan Sroka <rsroka@redhat.com>
|
|
---
|
|
src/cli/file-cli.c | 14 ++++++++------
|
|
1 file changed, 8 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/src/cli/file-cli.c b/src/cli/file-cli.c
|
|
index ae326c14..655e8f15 100644
|
|
--- a/src/cli/file-cli.c
|
|
+++ b/src/cli/file-cli.c
|
|
@@ -53,8 +53,13 @@ static int ftw_add_list_append(const char *fpath,
|
|
int typeflag,
|
|
struct FTW *ftwbuf __attribute__ ((unused)))
|
|
{
|
|
- if (typeflag == FTW_F)
|
|
- list_append(&add_list, strdup(fpath), NULL);
|
|
+ if (typeflag == FTW_F) {
|
|
+ if (S_ISREG(sb->st_mode)) {
|
|
+ list_append(&add_list, strdup(fpath), NULL);
|
|
+ } else {
|
|
+ msg(LOG_INFO, "Skipping non regular file: %s", fpath);
|
|
+ }
|
|
+ }
|
|
return FTW_CONTINUE;
|
|
}
|
|
|
|
@@ -83,11 +88,8 @@ static int add_list_load_path(const char *path)
|
|
|
|
if (S_ISDIR(sb.st_mode))
|
|
nftw(path, &ftw_add_list_append, FTW_NOPENFD, FTW_FLAGS);
|
|
- else if (S_ISREG(sb.st_mode)) {
|
|
+ else
|
|
list_append(&add_list, strdup(path), NULL);
|
|
- } else {
|
|
- msg(LOG_INFO, "Skipping non regular file: %s", path);
|
|
- }
|
|
|
|
return 0;
|
|
}
|