virgl: free trans on map-error
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Wed, 5 Sep 2018 11:50:18 +0000 (12:50 +0100)
committerErik Faye-Lund <erik.faye-lund@collabora.com>
Mon, 10 Sep 2018 08:35:02 +0000 (10:35 +0200)
When we fail to map memory, we should also free trans to avoid
leaking memory.

Noticed while reading code.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/virgl/virgl_texture.c

index 150a5ebd8c7195a33c12bdbc042422f3069c998e..71c0e9da7fdafc7749a712b0e0ca6ab0ead29bfe 100644 (file)
@@ -195,6 +195,7 @@ static void *virgl_texture_transfer_map(struct pipe_context *ctx,
 
    ptr = vs->vws->resource_map(vs->vws, hw_res);
    if (!ptr) {
+      slab_free(&vctx->texture_transfer_pool, trans);
       return NULL;
    }