Alfred Agrell (@Alcaro) commented about dlls/win32u/opengl.c:
if (context) {
char *renderer, *vendor;funcs->p_eglMakeCurrent( egl->display, EGL_NO_SURFACE, EGL_NO_SURFACE, context );
egl->device_name = gpu_device_name( egl->vendor_id, egl->device_id, (const char *)funcs->p_glGetString( GL_RENDERER ) );egl->vendor_name = opengl_vendor_to_name( egl->vendor_id, (const char *)funcs->p_glGetString( GL_VENDOR ) );
renderer = strdup( (const char *)funcs->p_glGetString( GL_RENDERER ) );egl->device_name = gpu_device_name( egl->vendor_id, egl->device_id, renderer );if (egl->device_name != renderer) free( renderer );vendor = strdup( (const char *)funcs->p_glGetString( GL_VENDOR ) );egl->vendor_name = opengl_vendor_to_name( egl->vendor_id, vendor );if (egl->device_name != renderer) free( vendor );
Is this supposed to compare to renderer? Shouldn't it be vendor?
Feels like a memory leak even with that fixed, but if the function is named init, that's probably once per process and not worth worrying about.