xserver/randr
Repository files (latest commit first)
Filename Latest commit message Latest commit date
levvictor 2a344f200a
Some checks failed
Build X servers / xserver-build-ubuntu (push) Has been cancelled
Build X servers / drivers-build-ubuntu (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
randr: fix heap overflow and size tracking in RRChangeProviderProperty
In PropModePrepend mode, old_data was offset by prop_value->size *
size_in_bytes instead of len * size_in_bytes, causing a heap buffer
overflow whenever the existing property is larger than the new data
being prepended.

Additionally, new_value.size was set to len instead of total_len in
Append and Prepend modes, causing the stored property size to reflect
only the new elements rather than the full property after the operation.

rrproperty.c (the RROutput equivalent) already has both correct forms,
this brings rrproviderproperty.c in line with it.

Signed-off-by: Victor Lev <levvictor123@gmail.com>

(cherry picked from commit 826a3cc93d)
2026-08-24 13:57:06 +02:00
..
meson.build randr: inline byte-swapping into actual request handlers 2025-09-29 12:35:03 +02:00
randr.c randr: drop internal server reset support 2025-11-20 17:44:39 +01:00
randrstr.h dix: don't include dix-config.h from randrstr.h 2025-07-23 15:46:51 +02:00
randrstr_priv.h randr: export RRGetOutputProperty for nvidia 2025-06-16 10:32:48 +02:00
rrcrtc.c randr: consistenly name reply structs "reply" instead of "rep" 2025-12-03 17:12:35 +01:00
rrdispatch.c randr: consistenly name reply structs "reply" instead of "rep" 2025-12-03 17:12:35 +01:00
rrdispatch_priv.h randr: inline byte-swapping into actual request handlers 2025-09-29 12:35:03 +02:00
rrinfo.c randr: Set the legacy RandR size range to include rotations 2026-08-24 13:14:54 +02:00
rrlease.c randr: fix missing byte swaps 2026-04-28 11:02:31 +02:00
rrmode.c randr: fix missing byte swaps 2026-04-28 11:02:31 +02:00
rrmonitor.c randr: ProcRRSetMonitor(): fix request size check 2026-04-28 11:02:20 +02:00
rroutput.c randr: clear primary screen's primaryOutput when the output is deleted 2026-04-21 10:28:57 +02:00
rrpointer.c randr: unexport and document RRCrtcGetScanoutSize() 2025-06-12 16:27:50 +02:00
rrproperty.c randr: consistenly name reply structs "reply" instead of "rep" 2025-12-03 17:12:35 +01:00
rrprovider.c randr: zero provider info reply buffer in ProcRRGetProviderInfo 2026-06-12 18:53:35 +02:00
rrproviderproperty.c randr: fix heap overflow and size tracking in RRChangeProviderProperty 2026-08-24 13:57:06 +02:00
rrscreen.c randr: zero name padding in GetScreenResources replies 2026-06-12 18:52:34 +02:00
rrtransform.c randr: replace xallocarray() by calloc() 2025-06-12 17:21:43 +02:00
rrtransform.h randr: unexport and document RRTransformCopy() 2025-06-12 16:30:10 +02:00
rrxinerama.c randr: consistenly name reply structs "reply" instead of "rep" 2025-12-03 17:12:35 +01:00