From 017bd4bf2571aa041eb851a15fbdba91dedcdae5 Mon Sep 17 00:00:00 2001 From: "Juan A. Suarez Romero" Date: Tue, 18 Jun 2024 17:49:43 +0200 Subject: [PATCH] egl: do not access member of a NULL structure Check if the structure is NULL before trying to get access to its members. This has been detected by the Undefined Behaviour Sanitizer (UBSan). Reviewed-by: Alyssa Rosenzweig Signed-off-by: Juan A. Suarez Romero Part-of: --- src/egl/main/eglapi.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c index 94276ce17b8..b4ffaad498d 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -983,8 +983,10 @@ eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx) !draw_surf->ProtectedContent) RETURN_EGL_ERROR(disp, EGL_BAD_ACCESS, EGL_FALSE); - egl_relax (disp, &draw_surf->Resource, &read_surf->Resource, - &context->Resource) { + egl_relax (disp, + draw_surf ? &draw_surf->Resource : NULL, + read_surf ? &read_surf->Resource : NULL, + context ? &context->Resource : NULL) { ret = disp->Driver->MakeCurrent(disp, draw_surf, read_surf, context); } @@ -1837,7 +1839,7 @@ _eglCreateImageCommon(_EGLDisplay *disp, EGLContext ctx, EGLenum target, if (ctx != EGL_NO_CONTEXT && target == EGL_LINUX_DMA_BUF_EXT) RETURN_EGL_ERROR(disp, EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR); - egl_relax (disp, &context->Resource) { + egl_relax (disp, context ? &context->Resource : NULL) { img = disp->Driver->CreateImageKHR(disp, context, target, buffer, attr_list); }