xserver/Xext/render
Repository files (latest commit first)
Filename Latest commit message Latest commit date
David baaa397af9 render: free animated cursor timers on destruction
AnimCursorCreate allocates an OsTimer even if the cursor is never
displayed. AnimCurUnrealizeCursor releases the retained frame cursors
but does not release that timer, leaking 40 bytes per animated cursor
on the tested x86_64 build.

Free the timer with the frame references on screen zero, and clear the
pointer. This cleanup runs when the final cursor reference is released.

The leak was reproduced with LeakSanitizer on an XLibre 25.1.9-based
test server. With the fix, all 90 focused native ASan/UBSan checks
pass with leak detection enabled and GLX disabled, including unused
animated cursors and repeated displayed cursor replacement.

Signed-off-by: David <david@code.contractors>
2026-10-13 13:58:33 +02:00
..
animcur.c render: free animated cursor timers on destruction 2026-10-13 13:58:33 +02:00
filter.c render: filter: fix integer-overflow bypass of convolution size check 2026-07-03 19:59:53 +02:00
glyph.c Fix use-after-free caused by duplicate glyphs in one glyphset 2026-10-12 15:37:47 +02:00
glyphstr_priv.h render: parentheses around macro argument symbols 2026-06-25 06:53:30 +02:00
matrix.c treewide: clean up includes of misc.h 2026-06-19 19:24:57 +02:00
meson.build
miindex.c xext: render: use stdbool's 'bool' instead of 'Bool' for local variables 2026-08-07 14:26:14 +02:00
mipict.c xext: render: use stdbool's 'bool' instead of 'Bool' for local variables 2026-08-07 14:26:14 +02:00
mirect.c
mitrap.c treewide: replace min/max macros by non-exported MIN/MAX and deprecate them 2026-06-25 14:06:17 +02:00
mitri.c
picture.c xext: render: use stdbool's 'bool' instead of 'Bool' for local variables 2026-08-07 14:26:14 +02:00
picturestr_priv.h render: parentheses around macro argument symbols 2026-06-25 06:53:30 +02:00
render.c dix: CreateConnectionBlock(): record number of roots 2026-09-25 21:27:00 +02:00