htiui/HtiServicePlugins/HtiKeyEventServicePlugin/src/PointerEventHandler.cpp
branchRCL_3
changeset 6 69ec17276f52
parent 3 2703485a934c
child 11 454d022d514b
--- a/htiui/HtiServicePlugins/HtiKeyEventServicePlugin/src/PointerEventHandler.cpp	Fri Mar 12 15:42:49 2010 +0200
+++ b/htiui/HtiServicePlugins/HtiKeyEventServicePlugin/src/PointerEventHandler.cpp	Mon Mar 15 12:40:36 2010 +0200
@@ -141,6 +141,7 @@
             {
             PointerUp();
             SendOkMsgL();
+            iAdvPointerMoveArray.ResetAndDestroy(); 
             iReady = ETrue;
             }
         }		
@@ -525,7 +526,13 @@
 	TTimeIntervalMicroSeconds32 eventDelay = ( aData[offset] + ( aData[offset+1] << 8 ) ) * 1000;
 	offset += 2;
     HTI_LOG_FORMAT( "Event time = %d", eventDelay.Int() );
-	
+    
+    if (eventDelay.Int()<=0)
+        {
+        SendErrorMessageL( EInvalidParameters, KErrorInvalidParameters );
+        return;        
+        }
+    
     TInt stepCount = aData[offset] + ( aData[offset+1] << 8 );
     offset += 2;
     HTI_LOG_FORMAT( "Step Count = %d", stepCount );
@@ -541,6 +548,12 @@
         {
         TInt pointNumber,X1, Y1, Z1,X2,Y2, Z2 ;
         
+        // invalid pointer array 
+        if ((dataLength-offset)<3*2*2+1)
+            {
+            SendErrorMessageL( EInvalidParameters, KErrorInvalidParameters );
+            return;        
+            }        
         // start point	
 		pointNumber = aData[offset];
 		offset += 1;