aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/virgl/virgl_context.c
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2015-10-31 16:07:52 +1000
committerDave Airlie <[email protected]>2015-10-31 16:16:44 +1000
commit8d731ebd33211d8b9c108fa60bfc854b2a8464c5 (patch)
tree2e5b1dcb069266294413475423fe7d8c3661fb75 /src/gallium/drivers/virgl/virgl_context.c
parent7153b12651f4d6e3b160a8d577a084a32be08c40 (diff)
virgl: free sampler view on failure path
Reported by Coverity. Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/virgl/virgl_context.c')
-rw-r--r--src/gallium/drivers/virgl/virgl_context.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/virgl/virgl_context.c b/src/gallium/drivers/virgl/virgl_context.c
index cae6352c0fe..e4f02ba1096 100644
--- a/src/gallium/drivers/virgl/virgl_context.c
+++ b/src/gallium/drivers/virgl/virgl_context.c
@@ -665,13 +665,17 @@ static struct pipe_sampler_view *virgl_create_sampler_view(struct pipe_context *
const struct pipe_sampler_view *state)
{
struct virgl_context *vctx = virgl_context(ctx);
- struct virgl_sampler_view *grview = CALLOC_STRUCT(virgl_sampler_view);
+ struct virgl_sampler_view *grview;
uint32_t handle;
struct virgl_resource *res;
if (state == NULL)
return NULL;
+ grview = CALLOC_STRUCT(virgl_sampler_view);
+ if (!grview)
+ return NULL;
+
res = virgl_resource(texture);
handle = virgl_object_assign_handle();
virgl_encode_sampler_view(vctx, handle, res, state);