From 5131c4794d3ae4631b24fb4c5e4027f1aeb3f966 Mon Sep 17 00:00:00 2001 From: Fabian Vogt Date: Thu, 24 Oct 2024 10:48:15 +0200 Subject: [PATCH] restorecond: Set GLib IO channels to binary mode 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 Acked-by: James Carter --- restorecond/user.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/restorecond/user.c b/restorecond/user.c index 3ae3ebbb..7188c22e 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,