xserver/os
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Enrico Weigelt, metux IT consult 435de433cd
Some checks are pending
Build X servers / xserver-build-ubuntu (push) Waiting to run
Build X servers / drivers-build-ubuntu (push) Waiting to run
Build X servers / xserver-build-mingw32-ubuntu (push) Waiting to run
Build X servers / xserver-build-macos (push) Waiting to run
Build X servers / xserver-build-freebsd (push) Waiting to run
Build X servers / Release pushed tag (push) Waiting to run
os: io: fix NULL output buffer after FlushClient()
FlushClient() does drops the output buffer, when it becomes empty.
This previously wasn't any problem and actually intented, because we've
returned from the write path directly after FlushClient() was called.

But now we've changed the call order, so it's called from within
OutputBufferMakeRoom(), so we need to make sure we always got valid
output buffer before trying to access it.

For the future, we should think about whether dropping output buffers
really makes sense at all. Instead we could leave them as they are
(over the client's lifetime) and maybe just trim when they've went
too big.

Fixes: 1c13cfa6ca
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-07 14:00:25 +02:00
..
.gitignore
access.c os: xtrans: drop XSERV_t and x11_t defines 2025-07-18 22:29:38 +02:00
alloc.c os: use calloc() instead of malloc() 2025-06-12 16:49:45 +02:00
audit.h
auth.c os: auth: let GenerateAuthorization() return 0 on error 2025-06-12 16:52:59 +02:00
auth.h os: auth: generate XIDs in proto funcs only on success 2025-06-12 16:52:56 +02:00
backtrace.c
bug_priv.h
busfault.c
busfault.h
client.c os: use NULL instead of NullClient 2025-07-18 22:24:55 +02:00
client_priv.h os: export SetCriticalOutputPending for nvidia 2025-06-16 10:32:48 +02:00
cmdline.c os: helper for parsing an counting-flag or value-flag option 2025-06-12 17:21:46 +02:00
cmdline.h os: helper for parsing an counting-flag or value-flag option 2025-06-12 17:21:46 +02:00
connection.c io: os: simplify FlushClient() 2025-08-04 15:55:36 +02:00
ddx_priv.h
fmt.c
fmt.h os: unexport xstrtokenize() 2025-06-12 17:21:44 +02:00
inputthread.c os: unexport internal logging functions 2025-06-12 17:21:46 +02:00
io.c os: io: fix NULL output buffer after FlushClient() 2025-08-07 14:00:25 +02:00
log.c xserver: os/log.c: ignore alternate forms in log formats 2025-07-29 16:21:02 +02:00
log_priv.h os: log: add syslog support 2025-06-12 17:21:46 +02:00
meson.build os: generic socket layer init function 2025-08-07 12:40:35 +02:00
mitauth.c dix: add dixAllocServerXID() 2025-06-12 17:21:48 +02:00
mitauth.h os: auth: generate XIDs in proto funcs only on success 2025-06-12 16:52:56 +02:00
osdep.h io: os: simplify FlushClient() 2025-08-04 15:55:36 +02:00
osinit.c meson: move MAXCLIENTS and LIMITCLIENTS into dix-config.h 2025-07-30 14:55:40 +02:00
ospoll.c os: ospoll: include winsock2.h on WIN32 instead of misc.h 2025-07-31 17:41:20 +02:00
ospoll.h os: ospoll: use stdbool instead of X11's Bool 2025-07-31 15:22:07 +02:00
ossock.c os: cross platform socket close() wrapper 2025-08-07 12:40:35 +02:00
ossock.h os: cross platform socket close() wrapper 2025-08-07 12:40:35 +02:00
probes_priv.h os: move probes.h and rename it to probes_priv.h 2025-07-18 04:51:30 +02:00
reallocarray.c
screensaver.h
serverlock.c
serverlock.h
strcasecmp.c os: drop own implementation of strcasecmp() and strncasecmp() 2025-06-12 17:21:46 +02:00
strcasestr.c
string.c os: unexport xstrtokenize() 2025-06-12 17:21:44 +02:00
strlcat.c
strlcpy.c
strndup.c os: use calloc() instead of malloc() 2025-06-12 16:49:45 +02:00
timingsafe_memcmp.c
transport.c os: incorporate xtrans xtrans-1.6.0 2025-07-18 22:29:38 +02:00
utils.c os: xtrans: drop XSERV_t and x11_t defines 2025-07-18 22:29:38 +02:00
WaitFor.c
xdmauth.c os: xtrans: drop XSERV_t and x11_t defines 2025-07-18 22:29:38 +02:00
xdmauth.h os: auth: generate XIDs in proto funcs only on success 2025-06-12 16:52:56 +02:00
xdmcp.c os: generic socket layer init function 2025-08-07 12:40:35 +02:00
xdmcp.h os: xdmcp: fix missing include of <X11/Xdmcp.h> 2025-07-28 16:20:58 +02:00
xprintf.c os: xprintf: fix includes 2025-07-31 17:01:10 +02:00
xserver_poll.c os: xserver_poll: replace own typedef by size_t 2025-07-31 14:50:05 +02:00
xserver_poll.h os: xserver_poll: skip defining symbols already defined by mingw 2025-07-31 15:28:08 +02:00
xsha1.c os: use calloc() instead of malloc() 2025-06-12 16:49:45 +02:00
xsha1.h
xstrans.c os: xtrans: drop XSERV_t and x11_t defines 2025-07-18 22:29:38 +02:00
Xtrans.c os: cross platform ioctl() wrapper 2025-08-07 12:40:35 +02:00
Xtrans.h os: generic socket layer init function 2025-08-07 12:40:35 +02:00
Xtransint.h os: xtrans: drop _XSERVTransReadv() et al 2025-07-31 17:09:37 +02:00
Xtranslcl.c os: xtrans: drop _XSERVTransReadv() et al 2025-07-31 17:09:37 +02:00
Xtranssock.c os: cross platform socket close() wrapper 2025-08-07 12:40:35 +02:00
Xtransutil.c os: generic socket layer init function 2025-08-07 12:40:35 +02:00