From 95d3529edf16add98d0f2f7c749b59d2d861bfa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonin=20D=C3=A9cimo?= Date: Sun, 13 Mar 2022 20:50:03 +0100 Subject: [PATCH] xcursor: check that XDG base directory path is absolute The spec reads: > All paths set in these environment variables must be absolute. If an > implementation encounters a relative path in any of these variables it should > consider the path invalid and ignore it. and > If $XDG_DATA_HOME is either not set or empty, a default equal to > $HOME/.local/share should be used. Testing that the path is absolute also entails that is is non-empty. --- xcursor/xcursor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcursor/xcursor.c b/xcursor/xcursor.c index b0c424f4..d9a942f8 100644 --- a/xcursor/xcursor.c +++ b/xcursor/xcursor.c @@ -647,7 +647,7 @@ XcursorLibraryPath (void) } else { env_var = getenv("XDG_DATA_HOME"); - if (env_var) { + if (env_var && env_var[0] == '/') { pathlen = strlen(env_var) + strlen(CURSORDIR ":" XCURSORPATH) + 1; path = malloc(pathlen);