Source: mesa Version: 18.3.2-1 Severity: normal Tags: patch Dear Maintainer,
The qtwayland-opensource-src package fails to build from source on hppa due a segmentation fault in dri2_query_wayland_buffer_wl running the qtwayland-opensource-src testsuite. See bug 919197 for details: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919197 The fault occurs because dri2_dpy is NULL and dri2_query_wayland_buffer_wl fails to check for this circumstance. The attached patch add NULL pointer checks to dri2_query_wayland_buffer_wl and dri2_create_image_wayland_wl_buffer. This fixes the build of qtwayland-opensource-src. Please apply or fix the code so NULL display pointers are not used. Regards, Dave Anglin -- System Information: Debian Release: buster/sid APT prefers buildd-unstable APT policy: (500, 'buildd-unstable'), (500, 'unstable') Architecture: hppa (parisc64) Kernel: Linux 4.14.94+ (SMP w/4 CPU cores) Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
--- ./src/egl/drivers/dri2/egl_dri2.c.save 2019-01-15 20:35:09.752730367 -0500 +++ ./src/egl/drivers/dri2/egl_dri2.c 2019-01-15 20:37:32.753145310 -0500 @@ -1931,10 +1931,13 @@ _EGLImageAttribs attrs; int32_t plane; + if (!dri2_dpy) + return NULL; + buffer = wayland_drm_buffer_get(dri2_dpy->wl_server_drm, (struct wl_resource *) _buffer); if (!buffer) - return NULL; + return NULL; if (!_eglParseImageAttribList(&attrs, disp, attr_list)) return NULL; @@ -2849,6 +2852,9 @@ struct wl_drm_buffer *buffer; const struct wl_drm_components_descriptor *format; + if (!dri2_dpy) + return EGL_FALSE; + buffer = wayland_drm_buffer_get(dri2_dpy->wl_server_drm, buffer_resource); if (!buffer) return EGL_FALSE;