File U_NULL-pointer-dereference-in-XawAsciiSinkInitialize.patch of Package libXaw.7886
Git-commit: ba7321b6a52726cdb9964b82c5111518dc1f437d
Author: Tobias Stoeckmann <tobias@stoeckmann.org>
Subject: NULL pointer dereference in XawAsciiSinkInitialize
References: bsc#1098411
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb@suse.com>
The function XawAsciiSinkInitialize is prone to a NULL pointer
dereference if no font is available.
Even though a specific check for a NULL font exists, it is called
after GetGC(), which in turn would trigger the NPE in such a case.
Spotted by calling xmessage on a system with an incomplete x font setup:
$ xmessage -b text
Warning: Unable to load any usable ISO8859 font
Segmentation fault
$ _
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
src/AsciiSink.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/AsciiSink.c b/src/AsciiSink.c
index d776895..1cccb1c 100644
--- a/src/AsciiSink.c
+++ b/src/AsciiSink.c
@@ -1704,10 +1704,10 @@ XawAsciiSinkInitialize(Widget request, Widget cnew,
{
AsciiSinkObject sink = (AsciiSinkObject)cnew;
- GetGC(sink);
-
if (!sink->ascii_sink.font) XtError("Aborting: no font found\n");
+ GetGC(sink);
+
sink->ascii_sink.cursor_position = 0;
sink->ascii_sink.laststate = XawisOff;
sink->ascii_sink.cursor_x = sink->ascii_sink.cursor_y = 0;
--
2.13.6