From: Emil Velikov <emil.veli...@collabora.com> Currently as the function fails, we pass uninitialized data to the authentication function. Stop doing that and print an warning when the function fails.
v2: Plug memory leak in error path (Eric) Cc: mesa-sta...@lists.freedesktop.org Cc: Tapani Pälli <tapani.pa...@intel.com> (v1) Cc: Eric Engestrom <eric.engest...@intel.com> Signed-off-by: Emil Velikov <emil.veli...@collabora.com> Reviewed-by: Tapani Pälli <tapani.pa...@intel.com> (v1) Reviewed-by: Eric Engestrom <eric.engest...@intel.com> --- Sending out for posterity. --- src/egl/drivers/dri2/platform_wayland.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 8122c811288..b05f5363163 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -1133,7 +1133,14 @@ drm_handle_device(void *data, struct wl_drm *drm, const char *device) if (drmGetNodeTypeFromFd(dri2_dpy->fd) == DRM_NODE_RENDER) { dri2_dpy->authenticated = true; } else { - drmGetMagic(dri2_dpy->fd, &magic); + if (drmGetMagic(dri2_dpy->fd, &magic)) { + close(dri2_dpy->fd); + dri2_dpy->fd = -1; + free(dri2_dpy->device_name); + dri2_dpy->device_name = NULL: + _eglLog(_EGL_WARNING, "wayland-egl: drmGetMagic failed"); + return; + } wl_drm_authenticate(dri2_dpy->wl_drm, magic); } } -- 2.19.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev