summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-09-29 10:19:14 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-09-29 11:10:32 +0100
commitacf83365fcea4b8471f087cf88a548e77b4b26e5 (patch)
tree34ae8fb34f5ba84a35f5a8f1b3db83d0dbc327c8
parent1faa4dd2fb27543395b1241cb4adc18ce58895e2 (diff)
coverity#1325067 Resource leak
Change-Id: I1db24c81a2698ff49dd2441ddd1bc94a1a3e6f58
-rw-r--r--vcl/source/gdi/dibtools.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/vcl/source/gdi/dibtools.cxx b/vcl/source/gdi/dibtools.cxx
index ebab16d20a16..dbd69d896a8f 100644
--- a/vcl/source/gdi/dibtools.cxx
+++ b/vcl/source/gdi/dibtools.cxx
@@ -748,8 +748,13 @@ bool ImplReadDIBBody( SvStream& rIStm, Bitmap& rBmp, Bitmap* pBmpAlpha, sal_uLon
BitmapPalette aDummyPal;
Bitmap aNewBmp(aSizePixel, nBitCount, &aDummyPal);
BitmapWriteAccess* pAcc = aNewBmp.AcquireWriteAccess();
- if (!pAcc || pAcc->Width() != aHeader.nWidth || pAcc->Height() != aHeader.nHeight)
+ if (!pAcc)
return false;
+ if (pAcc->Width() != aHeader.nWidth || pAcc->Height() != aHeader.nHeight)
+ {
+ Bitmap::ReleaseAccess(pAcc);
+ return false;
+ }
Bitmap aNewBmpAlpha;
BitmapWriteAccess* pAccAlpha = 0;
bool bAlphaPossible(pBmpAlpha && aHeader.nBitCount == 32);