aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Dänzer <mdaenzer@redhat.com>2020-02-27 12:21:09 +0100
committerMichel Dänzer <michel@daenzer.net>2020-02-27 12:21:09 +0100
commitfe06ee2054ac8aa609f64d2cdfad294a5e3d5610 (patch)
tree4f8fa6f5467d96fce21ef5ad326fd45fd06f7d24
parent8a73372e62a73fe8d874aa39458c508cdb5bb6f4 (diff)
downloadexternal_libdrm-fe06ee2054ac8aa609f64d2cdfad294a5e3d5610.tar.gz
external_libdrm-fe06ee2054ac8aa609f64d2cdfad294a5e3d5610.tar.bz2
external_libdrm-fe06ee2054ac8aa609f64d2cdfad294a5e3d5610.zip
tests: Only copy con->modes[0] if it exists
con->modes can be NULL. Fixes crash in that case. Closes: https://gitlab.freedesktop.org/mesa/drm/issues/34 Reviewed-by: Daniel Stone <daniels@collabora.com>
-rw-r--r--tests/kms/libkms-test-screen.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tests/kms/libkms-test-screen.c b/tests/kms/libkms-test-screen.c
index bbe972a0..d00ae547 100644
--- a/tests/kms/libkms-test-screen.c
+++ b/tests/kms/libkms-test-screen.c
@@ -42,7 +42,9 @@ static void kms_screen_probe(struct kms_screen *screen)
else
screen->connected = false;
- memcpy(&screen->mode, &con->modes[0], sizeof(drmModeModeInfo));
+ if (con->modes)
+ memcpy(&screen->mode, &con->modes[0], sizeof(drmModeModeInfo));
+
screen->width = screen->mode.hdisplay;
screen->height = screen->mode.vdisplay;