From 8a46a463f631ed52613d67f4088924acbbb6ca20 Mon Sep 17 00:00:00 2001 From: Matthieu Herrb Date: Sun, 5 Dec 2021 22:05:08 +0100 Subject: [PATCH] Initialize Mode->name in xf86CVTMode() This was overlooked when converting the function to use libxcvt. Bring back name initialization from old code. This was causing a segfault in xf86LookupMode() if modes where name is NULL are present the modePool list. Signed-off-by: Matthieu Herrb --- (cherry picked from ed11c4d443ad2e82512df64358d38008e0ee7693) Reported-by: "Sergiy" Part-of: --- hw/xfree86/modes/xf86Modes.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/xfree86/modes/xf86Modes.c b/hw/xfree86/modes/xf86Modes.c index 384996724..00586c457 100644 --- a/hw/xfree86/modes/xf86Modes.c +++ b/hw/xfree86/modes/xf86Modes.c @@ -803,10 +803,14 @@ xf86CVTMode(int HDisplay, int VDisplay, float VRefresh, Bool Reduced, { struct libxcvt_mode_info *libxcvt_mode_info; DisplayModeRec *Mode = xnfcalloc(1, sizeof(DisplayModeRec)); + char *tmp; libxcvt_mode_info = libxcvt_gen_mode_info(HDisplay, VDisplay, VRefresh, Reduced, Interlaced); + XNFasprintf(&tmp, "%dx%d", HDisplay, VDisplay); + Mode->name = tmp; + Mode->VDisplay = libxcvt_mode_info->vdisplay; Mode->HDisplay = libxcvt_mode_info->hdisplay; Mode->Clock = libxcvt_mode_info->dot_clock;