mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-11 03:40:22 +01:00
r600g: Fixed a bo leak in r600_texture_from_handle().
We would leak bo if the argument check failed. Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
This commit is contained in:
parent
ae23d425c2
commit
ac2bddb9f2
1 changed files with 6 additions and 5 deletions
|
|
@ -199,11 +199,6 @@ struct pipe_resource *r600_texture_from_handle(struct pipe_screen *screen,
|
|||
struct r600_resource *resource;
|
||||
struct radeon_bo *bo = NULL;
|
||||
|
||||
bo = radeon_bo(rw, whandle->handle, 0, 0, NULL);
|
||||
if (bo == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Support only 2D textures without mipmaps */
|
||||
if ((templ->target != PIPE_TEXTURE_2D && templ->target != PIPE_TEXTURE_RECT) ||
|
||||
templ->depth0 != 1 || templ->last_level != 0)
|
||||
|
|
@ -213,6 +208,12 @@ struct pipe_resource *r600_texture_from_handle(struct pipe_screen *screen,
|
|||
if (rtex == NULL)
|
||||
return NULL;
|
||||
|
||||
bo = radeon_bo(rw, whandle->handle, 0, 0, NULL);
|
||||
if (bo == NULL) {
|
||||
FREE(rtex);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
resource = &rtex->resource;
|
||||
resource->base.b = *templ;
|
||||
resource->base.vtbl = &r600_texture_vtbl;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue