summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/amdgpu_dri3.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/amdgpu_dri3.c b/src/amdgpu_dri3.c
index 0686599..f87c014 100644
--- a/src/amdgpu_dri3.c
+++ b/src/amdgpu_dri3.c
@@ -138,8 +138,13 @@ static PixmapPtr amdgpu_dri3_pixmap_from_fd(ScreenPtr screen,
if (pixmap) {
struct amdgpu_pixmap *priv = calloc(1, sizeof(*priv));
- amdgpu_set_pixmap_private(pixmap, priv);
- return pixmap;
+ if (priv) {
+ amdgpu_set_pixmap_private(pixmap, priv);
+ return pixmap;
+ }
+
+ screen->DestroyPixmap(pixmap);
+ return NULL;
}
}
#endif