--- a/textrendering/texthandling/stext/TXTRTSTR.CPP Mon May 03 14:13:26 2010 +0300
+++ b/textrendering/texthandling/stext/TXTRTSTR.CPP Thu Jun 24 11:18:23 2010 +0800
@@ -26,6 +26,11 @@
#include "TXTRTPFL.H"
#include "ParseLst.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "TXTRTSTRTraces.h"
+#endif
+
#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
#include "TXTETEXT_INTERNAL.H"
#include "TXTRICH_INTERNAL.H"
@@ -402,8 +407,20 @@
__TEST_INVARIANT;
TInt documentLength = DocumentLength();
+ if (aPos < 0 || aPos > documentLength)
+ {
+ OstTrace0( TRACE_FATAL, DUP1_CRICHTEXT_DETACHFROMSTOREL, "ECharPosBeyondDocument" );
+ }
__ASSERT_ALWAYS(aPos >= 0 && aPos <= documentLength,Panic(ECharPosBeyondDocument));
+ if (aLength < 0)
+ {
+ OstTrace0( TRACE_FATAL, CRICHTEXT_DETACHFROMSTOREL, "ECopyToStreamNegativeLength" );
+ }
__ASSERT_ALWAYS(aLength >= 0,Panic(ECopyToStreamNegativeLength));
+ if (aPos + aLength > documentLength)
+ {
+ OstTrace0( TRACE_FATAL, DUP2_CRICHTEXT_DETACHFROMSTOREL, "ECharPosBeyondDocument" );
+ }
__ASSERT_ALWAYS(aPos + aLength <= documentLength,Panic(ECharPosBeyondDocument));
if (aLength > 0 && IndexPresent())
@@ -436,6 +453,10 @@
the picture is stored in. */
{
__TEST_INVARIANT;
+ if (!aPictureFactory && aStoreResolver)
+ {
+ OstTrace0( TRACE_FATAL, CRICHTEXT_SETPICTUREFACTORY, "EInvalidPictureFactorySettings" );
+ }
__ASSERT_ALWAYS(!(!aPictureFactory && aStoreResolver),Panic(EInvalidPictureFactorySettings));
iPictureFactory=aPictureFactory;
@@ -452,6 +473,10 @@
picture header. */
{
__TEST_INVARIANT;
+ if (aPos<0 || aPos>DocumentLength())
+ {
+ OstTrace0( TRACE_FATAL, CRICHTEXT_PICTUREHEADER, "ECharPosBeyondDocument" );
+ }
__ASSERT_ALWAYS(aPos>=0 && aPos<=DocumentLength(),Panic(ECharPosBeyondDocument));
return (IndexPresent())
@@ -470,6 +495,10 @@
@see CRichText::PictureHandleL() */
{
__TEST_INVARIANT;
+ if (aPos<0 || aPos>DocumentLength())
+ {
+ OstTrace0( TRACE_FATAL, CRICHTEXT_DROPPICTUREOWNERSHIP, "ECharPosBeyondDocument" );
+ }
__ASSERT_ALWAYS(aPos>=0 && aPos<=DocumentLength(),Panic(ECharPosBeyondDocument));
TPictureHeader* p = IndexPresent()? iIndex->PictureHeaderPtr(aPos) : 0;