--- 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 );