diff -r e4e3998ddda2 -r 9f95a5546443 uigraphics/AknIcon/srvsrc/AknIconSrv.cpp --- a/uigraphics/AknIcon/srvsrc/AknIconSrv.cpp Tue Aug 31 16:13:36 2010 +0300 +++ b/uigraphics/AknIcon/srvsrc/AknIconSrv.cpp Wed Sep 01 12:19:53 2010 +0100 @@ -742,6 +742,7 @@ CAknIconSrvIconItem* CAknIconServer::CreateIconL( const TAknIconParams& aInfo ) { + const TInt KMaxIconDataLimit = 0xFA000; CFbsBitmap* bitmap = new (ELeave) CFbsBitmap; CleanupStack::PushL( bitmap ); @@ -765,6 +766,11 @@ TPtrC8 iconData = InitIconDataAndHandlerLC(aInfo, loader, handler); + if(iconData.Size()>KMaxIconDataLimit) + { + User::Leave(KErrTooBig); + } + bitmapDepth = (TDisplayMode)loader->IconDepthL( aInfo.iBitmapId ); handler->PrepareIconL( iconData, handle );