diff options
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.
2 files changed, 3 insertions, 5 deletions
| -rw-r--r-- | uri.c | 6 | ||||
| -rw-r--r-- | uri_test.c | 2 |
@@ -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); @@ -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}, |