summaryrefslogtreecommitdiff
path: root/vcl/headless
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/headless')
-rw-r--r--vcl/headless/svpbmp.cxx11
1 files changed, 5 insertions, 6 deletions
diff --git a/vcl/headless/svpbmp.cxx b/vcl/headless/svpbmp.cxx
index 293b222b8f8f..59d5964a0977 100644
--- a/vcl/headless/svpbmp.cxx
+++ b/vcl/headless/svpbmp.cxx
@@ -121,17 +121,17 @@ BitmapBuffer* ImplCreateDIB(
pDIB->maPalette.SetEntryCount( nColors );
}
- auto size = pDIB->mnScanlineSize * pDIB->mnHeight;
try
{
+ size_t size = pDIB->mnScanlineSize * pDIB->mnHeight;
pDIB->mpBits = new sal_uInt8[size];
+ std::memset(pDIB->mpBits, 0, size);
}
catch (const std::bad_alloc&)
{
delete pDIB;
pDIB = nullptr;
}
- std::memset(pDIB->mpBits, 0, size);
}
}
else
@@ -167,16 +167,15 @@ bool SvpSalBitmap::Create(const SalBitmap& rBmp)
// TODO: get rid of this when BitmapBuffer gets copy constructor
try
{
- mpDIB->mpBits = new sal_uInt8[ mpDIB->mnScanlineSize * mpDIB->mnHeight ];
+ size_t size = mpDIB->mnScanlineSize * mpDIB->mnHeight;
+ mpDIB->mpBits = new sal_uInt8[size];
+ std::memcpy(mpDIB->mpBits, rSalBmp.mpDIB->mpBits, size);
}
catch (const std::bad_alloc&)
{
delete mpDIB;
mpDIB = nullptr;
}
-
- if (mpDIB)
- memcpy(mpDIB->mpBits, rSalBmp.mpDIB->mpBits, mpDIB->mnScanlineSize * mpDIB->mnHeight);
}
return !rSalBmp.mpDIB || (rSalBmp.mpDIB && mpDIB != nullptr);