diff options
-rw-r--r-- | vcl/headless/svpbmp.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/vcl/headless/svpbmp.cxx b/vcl/headless/svpbmp.cxx index 10a45967cee0..e7d367a75929 100644 --- a/vcl/headless/svpbmp.cxx +++ b/vcl/headless/svpbmp.cxx @@ -121,9 +121,15 @@ BitmapBuffer* ImplCreateDIB( pDIB->maPalette.SetEntryCount( nColors ); } + size_t size = pDIB->mnScanlineSize * pDIB->mnHeight; + if (size > SAL_MAX_INT32) + { + delete pDIB; + return nullptr; + } + try { - size_t size = pDIB->mnScanlineSize * pDIB->mnHeight; pDIB->mpBits = new sal_uInt8[size]; #ifdef __SANITIZE_ADDRESS__ if (!pDIB->mpBits) |