forked from pool/xorg-x11-server
Egbert Eich
79e8592fb7
Fix XDMCP fatal error printing to not crash do to not supported format string (boo#948713). OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=590
37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
From: Egbert Eich <eich@suse.de>
|
|
Date: Mon Nov 9 16:54:27 2015 +0100
|
|
Subject: [PATCH]XDMCP: Fix format in XDMCP fatal error printing
|
|
Patch-mainline: to be upstreamed
|
|
Git-commit: aefa0cadd72168ff7a41c79e547021edee27f53a
|
|
Git-repo: git://anongit.freedesktop.org/git/xorg/xserver
|
|
References: boo#948713
|
|
Signed-off-by: Egbert Eich <eich@suse.com>
|
|
|
|
XdmcpFatal() calls FatalError() with '%*.*s' in the format string.
|
|
FatalError() however uses the async safe versions of printf() which
|
|
only support a subset of the POSIX printf formats - they don't contain
|
|
the '*' width and precision specifiers.
|
|
|
|
Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=948713
|
|
Signed-off-by: Egbert Eich <eich@suse.de>
|
|
---
|
|
os/xdmcp.c | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/os/xdmcp.c b/os/xdmcp.c
|
|
index 5bdcbe9..b53db1f 100644
|
|
--- a/os/xdmcp.c
|
|
+++ b/os/xdmcp.c
|
|
@@ -1403,8 +1403,9 @@ _X_NORETURN
|
|
static void
|
|
XdmcpFatal(const char *type, ARRAY8Ptr status)
|
|
{
|
|
- FatalError("XDMCP fatal error: %s %*.*s\n", type,
|
|
- status->length, status->length, status->data);
|
|
+ char *msg = strndup((char *)status->data, status->length);
|
|
+ FatalError("XDMCP fatal error: %s %s\n", type, msg);
|
|
+ free(msg);
|
|
}
|
|
|
|
static void
|