restorecond/1231512-Set-GLib-IO-channels-to-binary-mode.patch
Hu 66fd7c0966 - Fix issue where inotify events are not being handled properly
* added: 1231512-Set-GLib-IO-channels-to-binary-mode.patch
- Fix issue where restorecond -u is not terminating with SIGTERM (bsc#1231512)
  * added: 1231512-Set-GLib-IO-channels-to-nonblocking.patch

OBS-URL: https://build.opensuse.org/package/show/security:SELinux/restorecond?expand=0&rev=35
2024-10-24 10:12:52 +00:00

31 lines
928 B
Diff

By default, GIO channels use UTF-8 as encoding, which causes issues when
reading binary data such as inotify events.
Signed-off-by: Fabian Vogt <fvogt@suse.de>
---
restorecond/user.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/restorecond/user.c b/restorecond/user.c
index 3ae3ebbb7230..7188c22e3119 100644
--- a/restorecond/user.c
+++ b/restorecond/user.c
@@ -238,6 +238,7 @@ static int local_server(void) {
}
/* watch for stdin/terminal going away */
GIOChannel *in = g_io_channel_unix_new(0);
+ g_io_channel_set_encoding(in, NULL, NULL);
g_io_add_watch_full( in,
G_PRIORITY_HIGH,
G_IO_IN|G_IO_ERR|G_IO_HUP,
@@ -282,6 +283,7 @@ int server(int master_fd, const char *watch_file) {
set_matchpathcon_flags(MATCHPATHCON_NOTRANS);
GIOChannel *c = g_io_channel_unix_new(master_fd);
+ g_io_channel_set_encoding(c, NULL, NULL);
g_io_add_watch_full(c,
G_PRIORITY_HIGH,
--
2.47.0