From e7fba556a8237cb048fa157f5ec068fa20d80a55 Mon Sep 17 00:00:00 2001 From: Philipp Ludwig Date: Tue, 27 Nov 2018 23:19:26 +0100 Subject: xcursor: fix crash when encountering cursor themes with circular dependencies Port of https://cgit.freedesktop.org/xorg/lib/libXcursor/commit/src?id=f64a8cc1a65dcad4294e2988b402a34175019663 --- xcursor/xcursor.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xcursor/xcursor.c b/xcursor/xcursor.c index 6690da1a..d9fcac93 100644 --- a/xcursor/xcursor.c +++ b/xcursor/xcursor.c @@ -839,7 +839,12 @@ XcursorScanTheme (const char *theme, const char *name) * Recurse to scan inherited themes */ for (i = inherits; i && f == NULL; i = _XcursorNextPath (i)) - f = XcursorScanTheme (i, name); + { + if (strcmp(i, theme) != 0) + f = XcursorScanTheme (i, name); + else + printf("Not calling XcursorScanTheme because of circular dependency: %s. %s", i, name); + } if (inherits != NULL) free (inherits); return f; -- cgit v1.2.3