diff mbox

[libdrm] tests: kms: screen probe: Get screen mode when con->count_modes is nonzero

Message ID 1510894048-3715-1-git-send-email-gnuiyl@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ying Liu Nov. 17, 2017, 4:47 a.m. UTC
We should not get screen mode when a connector has no modes,
but just leave it be zero.
This may avoid the segmentation fault issue when a connector
status is disconnected, which is caused by memory copying
from a NULL connector mode pointer to a screen mode.

Signed-off-by: Liu Ying <gnuiyl@gmail.com>
---
 tests/kms/libkms-test-screen.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/tests/kms/libkms-test-screen.c b/tests/kms/libkms-test-screen.c
index 3369022..9ecf032 100644
--- a/tests/kms/libkms-test-screen.c
+++ b/tests/kms/libkms-test-screen.c
@@ -46,7 +46,8 @@  static void kms_screen_probe(struct kms_screen *screen)
 	else
 		screen->connected = false;
 
-	memcpy(&screen->mode, &con->modes[0], sizeof(drmModeModeInfo));
+	if (con->count_modes)
+		memcpy(&screen->mode, &con->modes[0], sizeof(drmModeModeInfo));
 	screen->width = screen->mode.hdisplay;
 	screen->height = screen->mode.vdisplay;