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