From fa396cdc33c81cae52942154d69db39ee7079748 Mon Sep 17 00:00:00 2001 From: Pranjal Kole Date: Sat, 29 Jan 2022 16:18:19 +0530 Subject: [PATCH] wayland: use getenv() according to spec From the NOTES section of getenv(3): The string pointed to by the return value of getenv() may be statically allocated, and can be modified by a subsequent call to getenv()... So, previously xcursor_theme could be modified by libc to contain xcursor_size. This has been fixed by getting xcursor_theme after computing the value of xcursor_size. --- wayland.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wayland.c b/wayland.c index 12e3f5b3..e9f7d063 100644 --- a/wayland.c +++ b/wayland.c @@ -1630,7 +1630,6 @@ wayl_reload_xcursor_theme(struct seat *seat, int new_scale) seat->pointer.cursor = NULL; } - const char *xcursor_theme = getenv("XCURSOR_THEME"); int xcursor_size = 24; { @@ -1642,6 +1641,8 @@ wayl_reload_xcursor_theme(struct seat *seat, int new_scale) } } + const char *xcursor_theme = getenv("XCURSOR_THEME"); + LOG_INFO("cursor theme: %s, size: %u, scale: %d", xcursor_theme, xcursor_size, new_scale);