dri_glx: fix use after free report
the critical error would use driverName. Found by internal RH coverity scan. Note: This is a candidate for stable branches. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
+4
-1
@@ -805,7 +805,6 @@ driCreateScreen(int screen, struct glx_display *priv)
|
||||
}
|
||||
|
||||
psc->driver = driOpenDriver(driverName);
|
||||
free(driverName);
|
||||
if (psc->driver == NULL)
|
||||
goto cleanup;
|
||||
|
||||
@@ -847,11 +846,15 @@ driCreateScreen(int screen, struct glx_display *priv)
|
||||
psp->setSwapInterval = driSetSwapInterval;
|
||||
psp->getSwapInterval = driGetSwapInterval;
|
||||
|
||||
free(driverName);
|
||||
|
||||
return &psc->base;
|
||||
|
||||
cleanup:
|
||||
CriticalErrorMessageF("failed to load driver: %s\n", driverName);
|
||||
|
||||
free(driverName);
|
||||
|
||||
if (psc->driver)
|
||||
dlclose(psc->driver);
|
||||
glx_screen_cleanup(&psc->base);
|
||||
|
||||
Reference in New Issue
Block a user