xserver/include
Enrico Weigelt, metux IT consult 6a8ee31e1b dix: move props into WindowRec and fix potential NULL deref
The pointer to the window properties is currently inside the WindowOptional
structure, which may or may not exist at any given time. Thus, before accessing
those fields, at least need to check whether it exists, potentially need to
create it first.

Since a pointer is small (in relation to WindowRec) and windows having properties
is a pretty common, we can make our life much simpler here by moving the pointer
directly into WindowRec, so we don't need extra WindowOptionalRec allocation.

This also fixes an analyzer warning on potential NULL dereference issue:

| ../dix/property.c: In function ‘dixChangeWindowProperty’:
|../dix/property.c:343:37: warning: dereference of NULL ‘*pWin.optional’ [CWE-476] [-Wanalyzer-null-dereference]
|  343 |         pProp->next = pWin->optional->userProps;
|      |                       ~~~~~~~~~~~~~~^~~~~~~~~~~

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:34:03 +02:00
..
.gitignore Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
Xprintf.h Remove "All rights reserved" from Oracle copyright notices 2023-02-25 09:40:41 -08:00
Xserver.d Remove "All rights reserved" from Oracle copyright notices 2023-02-25 09:40:41 -08:00
callback.h dix: unexport callback manager init / teardown functions 2024-03-12 15:18:17 +00:00
client.h os: unexport client id retrieval functions 2024-10-10 13:45:29 +00:00
closure.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
colormap.h dix: move colormap flags into colormap_priv.h and rename them 2024-09-01 22:06:50 +00:00
colormapst.h dix: move colormap flags into colormap_priv.h and rename them 2024-09-01 22:06:50 +00:00
cursor.h dix: drop superfluous XineramaGetCursorScreen() 2024-09-02 16:43:29 +00:00
cursorstr.h cursor: drop ARGB_CURSOR 2015-06-30 12:17:51 +10:00
displaymode.h hw/xfree86: re-calculate the clock and refresh rate 2023-12-22 05:02:05 +00:00
dix-config-apple-verbatim.h Move the apple fat binary hacks back to a header file, and make it apple-only. 2009-01-30 16:36:45 -08:00
dix.h dix: drop unused SetVendorRelease() 2025-06-12 16:20:19 +02:00
dixaccess.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
dixfont.h include: drop unused including of closure.h 2024-03-03 22:42:41 +00:00
dixfontstr.h include: dixfontstr.h: drop silent dependency on libxfont2 2024-09-01 17:45:13 +00:00
dixstruct.h os: split off internal definitions from client.h 2024-10-10 13:45:29 +00:00
events.h xi: Implement internal gesture event struct 2021-05-30 13:26:31 +03:00
eventstr.h mi: reset the PointerWindows reference on screen switch 2023-10-25 00:37:47 +00:00
exevents.h XI: unexport XIPropToInt() and XIPropToFloat() 2025-06-12 16:25:48 +02:00
extension.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
extinit.h include: unexport no*Extension flags 2025-02-07 12:00:58 +01:00
extinit_priv.h Xext: drop disable flag for GE extension 2025-02-26 13:34:19 +00:00
extnsionst.h dix: Remove extension aliases 2017-06-20 16:37:24 -04:00
fourcc.h glamor: xv: add rgb565 2023-11-29 21:18:29 +00:00
gc.h dix: unexport SetClipRects() 2024-04-15 23:10:31 +00:00
gcstruct.h fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
globals.h include: unexport no*Extension flags 2025-02-07 12:00:58 +01:00
glx_extinit.h miinitext: Load GLX on the mi path 2018-02-14 17:04:48 -05:00
glxvndabi.h Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
hotplug.h config: unexport config_pre_init() 2025-02-06 16:24:01 +01:00
input.h include: move private definitions out of input.h 2024-09-01 17:59:23 +00:00
inputstr.h dix: unexport defines for device grab states 2025-02-26 13:24:41 +00:00
inpututils.h Implement gesture processing logic 2021-05-30 13:26:42 +03:00
list.h include: drop obsolete check for typeof operator 2024-04-22 22:15:45 +00:00
meson.build include: don't install propertyst.h 2025-06-12 16:31:02 +02:00
misc.h sdk: add generic X return code 2025-06-12 16:16:42 +02:00
miscstruct.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
nonsdk_extinit.h include: move private definitions out of extinit.h 2024-04-30 00:47:38 +00:00
opaque.h os: unexport fields from opaque.h not used by modules / drivers 2024-06-23 21:19:27 +00:00
optionstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
os.h include: os: add returns_nonnull attribute to XNFalloc/XNFcallocarray 2025-06-12 16:20:41 +02:00
pixmap.h dix: Remove pScratchPixmap and other associated ABI changes 2022-12-30 01:32:25 +00:00
pixmapstr.h rootless: Use screen_x and screen_y instead of pixmap pointer hacks 2023-01-20 17:10:54 +00:00
privates.h Fix compilation with windows.h from latest w32api 2021-08-31 16:56:28 +00:00
probes.h Remove "All rights reserved" from Oracle copyright notices 2023-02-25 09:40:41 -08:00
property.h dix: unexport DeleteAllWindowProperties() 2024-09-02 17:50:47 +00:00
propertyst.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
protocol-versions.h xvmc: move over protocol version defines into xvmc.c 2025-02-06 23:29:10 +00:00
ptrveloc.h dix: unexport SetAccelerationProfile() 2024-03-09 18:01:52 +00:00
region.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
regionstr.h dix: make RegionInit legal C++ 2015-01-23 10:35:49 -08:00
resource.h rename remaining RT_* defines to X11_RESTYPE_* 2024-04-15 19:00:47 -07:00
rgb.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
screenint.h Revert "dix: unexport AttachOutputGPU() and DetachOutputGPU()" 2024-09-01 20:38:01 +00:00
scrnintstr.h dix: Remove pScratchPixmap and other associated ABI changes 2022-12-30 01:32:25 +00:00
selection.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
servermd.h dix: Fix image byte order on big endian hardware 2015-05-07 14:03:50 -04:00
swaprep.h dix: Unexport various implementation details 2015-07-08 16:40:57 -04:00
swapreq.h dix: unexport events related request handlers 2025-06-12 16:16:45 +02:00
systemd-logind.h xf86/logind: Fix compilation error when built without logind/platform bus 2021-12-20 16:56:14 +01:00
validate.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
vidmodestr.h vidmode: build without xf86vidmodeproto 2016-03-01 11:25:59 -05:00
window.h dix: Add hybrid full-size/empty-clip mode to SetRootClip 2016-02-22 13:26:31 -05:00
windowstr.h dix: move props into WindowRec and fix potential NULL deref 2025-06-12 16:34:03 +02:00
xkb-config.h.in Move to autoconf standard function name checks & defines 2011-12-05 14:32:45 -08:00
xkbrules.h xkb: unexport XkbRF_RuleRec struct 2025-02-26 13:43:52 +00:00
xkbsrv.h include: drop now empty xkbfile.h 2025-02-06 22:45:25 +00:00
xkbstr.h include: xkbstr.h: fix missing include of Xdefs.h 2024-04-09 06:50:20 +00:00
xorg-config.h.meson.in xf86AutoConfig: try modesetting on all platforms we build it on 2022-09-20 18:26:03 +00:00
xorg-server.h.meson.in meson: drop defining BIGREQS 2025-02-06 23:22:31 +00:00
xserver-properties.h Add missing labels for multitouch valuators 2012-10-30 15:11:10 +10:00
xwayland-config.h.meson.in xwayland/glamor: Drop the EGLStream backend 2024-03-18 15:41:17 +00:00
xwin-config.h.meson.in xwin: consolidate debugging symbols 2024-03-19 02:05:35 +00:00