More checks
diff --git a/main/svx/source/svdraw/svdoedge.cxx b/main/svx/source/svdraw/svdoedge.cxx
index 5bd1237..73f9c3f 100644
--- a/main/svx/source/svdraw/svdoedge.cxx
+++ b/main/svx/source/svdraw/svdoedge.cxx
@@ -2262,7 +2262,7 @@
 	ResizeXPoly(*pEdgeTrack,rRefPnt,aXFact,aYFact);
 
 	// #75371# if resize is not from paste, forget user distances
-	if(!GetModel()->IsPasteResize())
+	if(GetModel() && !GetModel()->IsPasteResize())
 	{
 		// #75735#
 		aEdgeInfo.aObj1Line2 = Point();
diff --git a/main/vcl/source/gdi/bmpacc.cxx b/main/vcl/source/gdi/bmpacc.cxx
index dd59442..49a38cc 100644
--- a/main/vcl/source/gdi/bmpacc.cxx
+++ b/main/vcl/source/gdi/bmpacc.cxx
@@ -107,31 +107,40 @@
 			const long	nHeight = mpBuffer->mnHeight;
 			Scanline	pTmpLine = mpBuffer->mpBits;
 
-			mpScanBuf = new Scanline[ nHeight ];
-			maColorMask = mpBuffer->maColorMask;
+            try {
+                mpScanBuf = new Scanline[ nHeight ];
+            } catch (std::bad_alloc &) {
+                mpScanBuf = NULL;
+            }
+            if (mpScanBuf) {
+                maColorMask = mpBuffer->maColorMask;
 
-			if( BMP_SCANLINE_ADJUSTMENT( mpBuffer->mnFormat ) == BMP_FORMAT_TOP_DOWN )
-			{
-				for( long nY = 0L; nY < nHeight; nY++, pTmpLine += mpBuffer->mnScanlineSize )
-					mpScanBuf[ nY ] = pTmpLine;
-			}
-			else
-			{
-				for( long nY = nHeight - 1; nY >= 0; nY--, pTmpLine += mpBuffer->mnScanlineSize )
-					mpScanBuf[ nY ] = pTmpLine;
-			}
+                if( BMP_SCANLINE_ADJUSTMENT( mpBuffer->mnFormat ) == BMP_FORMAT_TOP_DOWN )
+                {
+                    for( long nY = 0L; nY < nHeight; nY++, pTmpLine += mpBuffer->mnScanlineSize )
+                        mpScanBuf[ nY ] = pTmpLine;
+                }
+                else
+                {
+                    for( long nY = nHeight - 1; nY >= 0; nY--, pTmpLine += mpBuffer->mnScanlineSize )
+                        mpScanBuf[ nY ] = pTmpLine;
+                }
 
-			if( !ImplSetAccessPointers( BMP_SCANLINE_FORMAT( mpBuffer->mnFormat ) ) )
-			{
-				delete[] mpScanBuf;
-				mpScanBuf = NULL;
+                if( !ImplSetAccessPointers( BMP_SCANLINE_FORMAT( mpBuffer->mnFormat ) ) )
+                {
+                    delete[] mpScanBuf;
+                    mpScanBuf = NULL;
 
-				pImpBmp->ImplReleaseBuffer( mpBuffer, !mbModify );
-				mpBuffer = NULL;
-			}
-			else
-				maBitmap = rBitmap;
-		}
+                    pImpBmp->ImplReleaseBuffer( mpBuffer, !mbModify );
+                    mpBuffer = NULL;
+                }
+                else
+                    maBitmap = rBitmap;
+            } else {
+                pImpBmp->ImplReleaseBuffer( mpBuffer, !mbModify );
+                mpBuffer = NULL;
+            }
+        }
 	}
 }