summaryrefslogtreecommitdiffstats
path: root/src/loader/loader_dri3_helper.c
diff options
context:
space:
mode:
authorLouis-Francis Ratté-Boulianne <[email protected]>2017-09-28 03:18:33 -0400
committerDaniel Stone <[email protected]>2018-02-15 11:58:17 +0000
commita34715ad9c84c4209de4c16fdf40655181350bd9 (patch)
tree7c3fba35424f8364fd77d290380a1dd87c2afc16 /src/loader/loader_dri3_helper.c
parentf0654dfa65e4004bcc9a4bea80f1e6a04a75ecff (diff)
dri: fromPlanar() can return NULL as a valid result
It was assumed that fromPlanar() could return NULL to mean that the planar image is the same as the parent DRI image. That assumption wasn't made everywhere though. Let's fix things and make sure that all callers understand a NULL result Signed-off-by: Louis-Francis Ratté-Boulianne <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Daniel Stone <[email protected]>
Diffstat (limited to 'src/loader/loader_dri3_helper.c')
-rw-r--r--src/loader/loader_dri3_helper.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c
index fbda3d635c7..2912bb6749b 100644
--- a/src/loader/loader_dri3_helper.c
+++ b/src/loader/loader_dri3_helper.c
@@ -1288,7 +1288,10 @@ loader_dri3_create_image(xcb_connection_t *c,
ret = image->fromPlanar(image_planar, 0, loaderPrivate);
- image->destroyImage(image_planar);
+ if (!ret)
+ ret = image_planar;
+ else
+ image->destroyImage(image_planar);
return ret;
}