From cfb27d9a74e7b999b5778fa7367200d748319b7d Mon Sep 17 00:00:00 2001 From: cutealien Date: Sat, 8 Jan 2022 17:36:20 +0000 Subject: [PATCH] Add some error checking in COSOperator::copyToClipboard GlobalAlloc and GlobalLock can return NULL git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6292 dfc29bdd-3216-0410-991c-e03cc46cb475 --- source/Irrlicht/COSOperator.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/source/Irrlicht/COSOperator.cpp b/source/Irrlicht/COSOperator.cpp index d777bad9..91fb9412 100644 --- a/source/Irrlicht/COSOperator.cpp +++ b/source/Irrlicht/COSOperator.cpp @@ -71,12 +71,16 @@ void COSOperator::copyToClipboard(const c8* text) const char * buffer; clipbuffer = GlobalAlloc(GMEM_DDESHARE, strlen(text)+1); - buffer = (char*)GlobalLock(clipbuffer); - - strcpy(buffer, text); - - GlobalUnlock(clipbuffer); - SetClipboardData(CF_TEXT, clipbuffer); + if ( clipbuffer ) + { + buffer = (char*)GlobalLock(clipbuffer); + if ( buffer ) + { + strcpy(buffer, text); + } + GlobalUnlock(clipbuffer); + SetClipboardData(CF_TEXT, clipbuffer); + } CloseClipboard(); #elif defined(_IRR_COMPILE_WITH_OSX_DEVICE_)