From 3c6b6eeb35c23cd8e666f5f44656d773d2670fd1 Mon Sep 17 00:00:00 2001 From: Herman Semenov Date: Fri, 13 Jun 2025 12:39:36 +0300 Subject: [PATCH] dix: fix fuzzing issue when pScreen is NULL https://github.com/X11Libre/xserver/issues/115 --- dix/dixfonts.c | 3 +++ dix/glyphcurs.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/dix/dixfonts.c b/dix/dixfonts.c index 9f5e1f71f..d8f6779f0 100644 --- a/dix/dixfonts.c +++ b/dix/dixfonts.c @@ -1866,6 +1866,9 @@ get_client_resolutions(int *num) ScreenPtr pScreen; pScreen = screenInfo.screens[0]; + if (!pScreen) + return NULL; + res.x_resolution = (pScreen->width * 25.4) / pScreen->mmWidth; /* * XXX - we'll want this as long as bitmap instances are prevalent diff --git a/dix/glyphcurs.c b/dix/glyphcurs.c index 5747d0b20..b44ef30ab 100644 --- a/dix/glyphcurs.c +++ b/dix/glyphcurs.c @@ -87,6 +87,9 @@ ServerBitsFromGlyph(FontPtr pfont, unsigned ch, CursorMetricPtr cm, char2b[1] = (unsigned char) (ch & 0xff); pScreen = screenInfo.screens[0]; + if (!pScreen) + return BadDrawable; + pbits = calloc(BitmapBytePad(cm->width), cm->height); if (!pbits) return BadAlloc;