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
This commit is contained in:
cutealien 2022-01-08 17:36:20 +00:00
parent 9e27a6d4bf
commit cfb27d9a74

View File

@ -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_)