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 <matthieu@herrb.eu>
---
(cherry picked from ed11c4d443
)
Reported-by: "Sergiy" <Black_N@ukr.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1319>
This commit is contained in:
parent
f653d9a0af
commit
8a46a463f6
|
@ -803,10 +803,14 @@ xf86CVTMode(int HDisplay, int VDisplay, float VRefresh, Bool Reduced,
|
||||||
{
|
{
|
||||||
struct libxcvt_mode_info *libxcvt_mode_info;
|
struct libxcvt_mode_info *libxcvt_mode_info;
|
||||||
DisplayModeRec *Mode = xnfcalloc(1, sizeof(DisplayModeRec));
|
DisplayModeRec *Mode = xnfcalloc(1, sizeof(DisplayModeRec));
|
||||||
|
char *tmp;
|
||||||
|
|
||||||
libxcvt_mode_info =
|
libxcvt_mode_info =
|
||||||
libxcvt_gen_mode_info(HDisplay, VDisplay, VRefresh, Reduced, Interlaced);
|
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->VDisplay = libxcvt_mode_info->vdisplay;
|
||||||
Mode->HDisplay = libxcvt_mode_info->hdisplay;
|
Mode->HDisplay = libxcvt_mode_info->hdisplay;
|
||||||
Mode->Clock = libxcvt_mode_info->dot_clock;
|
Mode->Clock = libxcvt_mode_info->dot_clock;
|
||||||
|
|
Loading…
Reference in New Issue