From dff4e316bb85b85216699e6fe0c98539aeb42a49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Tue, 19 Oct 2021 09:07:29 +0200 Subject: [PATCH] Don't try to open directories --- fastiv.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fastiv.c b/fastiv.c index 39b0c5e..6a74216 100644 --- a/fastiv.c +++ b/fastiv.c @@ -292,7 +292,11 @@ load_directory(const gchar *dirname) GDir *dir = g_dir_open(dirname, 0, &error); if (dir) { for (const gchar *name = NULL; (name = g_dir_read_name(dir)); ) { - if (!is_supported(name)) + // This really wants to make you use readdir() directly. + char *absolute = g_canonicalize_filename(name, g.directory); + gboolean is_dir = g_file_test(absolute, G_FILE_TEST_IS_DIR); + g_free(absolute); + if (is_dir || !is_supported(name)) continue; // XXX: We presume that this basename is from the same directory.