mirror of
https://github.com/X11Libre/xserver.git
synced 2026-10-28 02:21:08 +00:00
| Filename | Latest commit message | Latest commit date |
|---|---|---|
_CheckSetDoodad() allocates doodad->text.text via _GetCountedString() and then attempts to allocate doodad->text.font. If the font string allocation fails (e.g. because the font string length extends past the request boundary), the error handler frees doodad->text.text but does not NULL the pointer. The doodad was already added to the geometry by XkbAddGeomDoodad() before the string allocations, so when XkbFreeGeometry() runs cleanup, _XkbClearDoodad() frees the same dangling pointer again, resulting in a double-free. NULL the pointer after freeing it to prevent the double-free. This vulnerability was discovered by: Anonymous working with TrendAI Zero Day Initiative ZDI-CAN-31221 CVE-2026-88812 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Assisted-by: Claude:claude-opus-4-6 Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2341> |
||
| .. | ||
| bigreq | ||
| bugs | ||
| damage | ||
| pyxtest | ||
| scripts | ||
| sync | ||
| xi1 | ||
| xi2 | ||
| xkb | ||
| .gitignore | ||
| fixes.c | ||
| hashtabletest.c | ||
| input.c | ||
| list.c | ||
| meson.build | ||
| misc.c | ||
| README | ||
| sha1.c | ||
| signal-logging.c | ||
| simple-xinit.c | ||
| string.c | ||
| test_xkb.c | ||
| tests-common.c | ||
| tests-common.h | ||
| tests.c | ||
| tests.h | ||
| touch.c | ||
| xfree86.c | ||
| xtest.c | ||
X server test suite This suite contains a set of tests to verify the behaviour of functions used internally to the server. = How it works = Through some automake abuse, we link the test programs with the same static libraries as the Xorg binary. The test suites can then call various functions and verify their behaviour - without the need to start the server or connect clients. This testing only works for functions that do not rely on a particular state of the X server. Unless the test suite replicates the expected state, which may be difficult. = How to run the tests = Run "make check" in the test directory. This will compile the tests and execute them in the order specified in the TESTS variable in test/Makefile.am. Each set of tests related to a subsystem are available as a binary that can be executed directly. For example, run "xkb" to perform some xkb-related tests. == Adding a new test == When adding a new test, ensure that you add a short description of what the test does and what the expected outcome is.