summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-06-06 17:20:39 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-06-06 17:20:39 +0100
commit902391bd798775e1a7a53503d4dd1756162f737f (patch)
tree76e67b3f1278ca2a248a6e43580f61f18ec86bfc
parent3d8a1f7176877975a31ad7a6548fa8309065f617 (diff)
uxa: Remove dead-code for SourcePictures
All SourcePictures are now converted into Drawables, which had been assumed by the driver backend. However, the code still existed to attempt to pass procedural pictures onwards and so set pSrcPix to NULL which was being flagged by the static analyser as a potential NULL dereference. Reported-by: Zdenek Kabelac <zkabelac@redhat.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--uxa/uxa-render.c46
1 files changed, 19 insertions, 27 deletions
diff --git a/uxa/uxa-render.c b/uxa/uxa-render.c
index 1e88c5d7..4463dc2f 100644
--- a/uxa/uxa-render.c
+++ b/uxa/uxa-render.c
@@ -1064,10 +1064,25 @@ uxa_try_driver_composite(CARD8 op,
return 1;
}
- if (localSrc->pDrawable) {
- pSrcPix = uxa_get_offscreen_pixmap(localSrc->pDrawable,
- &src_off_x, &src_off_y);
- if (!pSrcPix) {
+ pSrcPix = uxa_get_offscreen_pixmap(localSrc->pDrawable,
+ &src_off_x, &src_off_y);
+ if (!pSrcPix) {
+ REGION_UNINIT(screen, &region);
+
+ if (localSrc != pSrc)
+ FreePicture(localSrc, 0);
+ if (localMask && localMask != pMask)
+ FreePicture(localMask, 0);
+ if (localDst != pDst)
+ FreePicture(localDst, 0);
+
+ return 0;
+ }
+
+ if (localMask) {
+ pMaskPix = uxa_get_offscreen_pixmap(localMask->pDrawable,
+ &mask_off_x, &mask_off_y);
+ if (!pMaskPix) {
REGION_UNINIT(screen, &region);
if (localSrc != pSrc)
@@ -1079,29 +1094,6 @@ uxa_try_driver_composite(CARD8 op,
return 0;
}
- } else {
- pSrcPix = NULL;
- }
-
- if (localMask) {
- if (localMask->pDrawable) {
- pMaskPix = uxa_get_offscreen_pixmap(localMask->pDrawable,
- &mask_off_x, &mask_off_y);
- if (!pMaskPix) {
- REGION_UNINIT(screen, &region);
-
- if (localSrc != pSrc)
- FreePicture(localSrc, 0);
- if (localMask && localMask != pMask)
- FreePicture(localMask, 0);
- if (localDst != pDst)
- FreePicture(localDst, 0);
-
- return 0;
- }
- } else {
- pMaskPix = NULL;
- }
}
if (!(*uxa_screen->info->prepare_composite)