XLibre Xserver
Go to file
Olivier Fourdan f52cea2f93 sync: Check values before applying changes
In SyncInitTrigger(), we would set the CheckTrigger function before
validating the counter value.

As a result, if the counter value overflowed, we would leave the
function SyncInitTrigger() with the CheckTrigger applied but without
updating the trigger object.

To avoid that issue, move the portion of code checking for the trigger
check value before updating the CheckTrigger function.

Related to CVE-2025-26601, ZDI-CAN-25870

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1828>
2025-02-25 11:43:01 +01:00
.gitlab-ci ci: update XTS to a commit that doesn't require -fcommon workaround 2025-02-17 19:16:04 +00:00
Xext sync: Check values before applying changes 2025-02-25 11:43:01 +01:00
Xi Xi: Fix barrier device search 2025-02-25 11:43:01 +01:00
composite composite: initialize border clip even when pixmap alloc fails 2025-02-25 11:43:01 +01:00
config
damageext os: unexport SetCriticalOutputPending() 2025-02-23 17:39:18 +00:00
dbe dbe: fix byte swapping in SProcDbeSwapBuffers() 2025-02-24 16:24:53 +01:00
dix dix: Dequeue pending events on frozen device on removal 2025-02-25 11:43:01 +01:00
doc os: drop unused TimerCheck() 2025-02-23 17:46:13 +00:00
dri3 os: unexport WriteFdToClient() 2025-02-18 10:53:44 +00:00
exa
fb
glamor glamor: explicitly draw endpoints of line segments 2025-02-24 20:39:12 +00:00
glx os: unexport ResetCurrentRequest() 2025-02-18 10:53:45 +00:00
hw panoramix: don't install panoramiX.h and panoramiXsrv.h 2025-02-24 20:06:30 +00:00
include drop not needed includes of geext.h 2025-02-24 20:19:55 +00:00
man
mi os: move BUG_*() macros to own private header 2025-02-17 19:32:48 +00:00
miext os: move BUG_*() macros to own private header 2025-02-17 19:32:48 +00:00
os os: drop unused TimerCheck() 2025-02-23 17:46:13 +00:00
present present: need to include geext.h 2025-02-24 20:19:55 +00:00
pseudoramiX
randr randr: RRScreenInit(): drop unnecessary zero'ing 2025-02-24 20:30:26 +00:00
record os: unexport SetCriticalOutputPending() 2025-02-23 17:39:18 +00:00
render os: move BUG_*() macros to own private header 2025-02-17 19:32:48 +00:00
test test: sync: don't use VLA 2025-02-20 17:28:01 +01:00
xfixes misc.h: unexport compare_version() 2025-02-18 11:17:40 +00:00
xkb xkb: Fix buffer overflow in XkbChangeTypesOfKey() 2025-02-25 11:43:01 +01:00
.appveyor.yml
.dir-locals.el
.git-blame-ignore-revs
.gitignore
.gitlab-ci.yml ci: update freebsd builder image 2025-02-18 10:43:28 +01:00
.mailmap
.travis.yml
COPYING
README.md
meson.build meson.build: enable VLA warning 2025-02-20 17:28:05 +01:00
meson_options.txt
xorg-server.m4
xorg-server.pc.in
xserver.ent.in

X Server

The X server accepts requests from client applications to create windows, which are (normally rectangular) "virtual screens" that the client program can draw into.

Windows are then composed on the actual screen by the X server (or by a separate composite manager) as directed by the window manager, which usually communicates with the user via graphical controls such as buttons and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the following article: https://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the Xorg mailing list:

https://lists.freedesktop.org/mailman/listinfo/xorg

The primary development code repository can be found at:

https://gitlab.freedesktop.org/xorg/xserver

For patch submission instructions, see:

https://www.x.org/wiki/Development/Documentation/SubmittingPatches

As with other projects hosted on freedesktop.org, X.Org follows its Code of Conduct, based on the Contributor Covenant. Please conduct yourself in a respectful and civilized manner when using the above mailing lists, bug trackers, etc:

https://www.freedesktop.org/wiki/CodeOfConduct