From fcde19e3fb1e7b10d4af5742bebb8109c7d911c4 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Sun, 13 Mar 2022 00:43:35 +0100 Subject: uri: Remove access() check Otherwise it was returning `NULL` and sending out the path of non-readable files over HTTP (unencrypted) could be unintended. Better to fail in a local path than be sorry. --- uri.c | 6 +----- uri_test.c | 2 ++ 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/uri.c b/uri.c index 6d3755a..c026c28 100644 --- a/uri.c +++ b/uri.c @@ -26,11 +26,7 @@ badwolf_ensure_uri_scheme(const gchar *text, gboolean try_file) if(path != NULL) { - /* flawfinder: ignore. only used as presence check, no way to pass file descriptor */ - if(access(path, R_OK) == 0) - { - f = g_strdup_printf("file://%s", path); - } + f = g_strdup_printf("file://%s", path); free(path); diff --git a/uri_test.c b/uri_test.c index 28bdde9..47fda73 100644 --- a/uri_test.c +++ b/uri_test.c @@ -29,6 +29,8 @@ badwolf_ensure_uri_scheme_test(void) {fallback, "", TRUE}, {"http:///dev/null", "/dev/null", FALSE}, {"file:///dev/null", "/dev/null", TRUE}, + {"http:///root", "/root", FALSE}, + {"file:///root", "/root", TRUE}, {"http:///usr/../dev/null", "/usr/../dev/null", FALSE}, {"file:///dev/null", "/usr/../dev/null", TRUE}, {"http://example.org", "example.org", FALSE}, -- cgit v1.3.1-23-gd82d