diff -r 82ee1f804b63 -r 4c4ed41530db supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp --- a/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp Mon May 03 12:54:42 2010 +0300 +++ b/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp Fri May 14 16:17:02 2010 +0300 @@ -196,13 +196,25 @@ { RBuf HslpFromImsi; HslpFromImsi.CreateL(KMaxIPAddressLength); - CleanupClosePushL(HslpFromImsi); - iSuplSettings->GenerateHslpAddressFromImsi( HslpFromImsi ); - iOMASuplSettings->SetHSLPAddressFromIMSI(HslpFromImsi); - CleanupStack::PopAndDestroy(); - iState = EInitializationComplete; + CleanupClosePushL(HslpFromImsi); + + //Coverity fix - checking for return code of GenerateHslpAddressFromImsi + + TInt genError = iSuplSettings->GenerateHslpAddressFromImsi( HslpFromImsi ); + if(genError != KErrNone) + { + iTrace->Trace(_L("GenerateHslpAddressFromImsi failed - completing observer"), KTraceFileName, __LINE__); + CleanupStack::PopAndDestroy(); + iObserver.InitilizationCompletedL( genError ); + return; + } + iOMASuplSettings->SetHSLPAddressFromIMSI(HslpFromImsi); + CleanupStack::PopAndDestroy(); + iState = EInitializationComplete; + } - + //comment to ignore coverity missing break error + //coverity[MISSING_BREAK :FALSE] default: if( iState != EInitializationComplete && iVariantEnabled ) { @@ -211,7 +223,7 @@ SetActive(); break; } - iObserver.InitilizationCompletedL( iStatus.Int() ); + iObserver.InitilizationCompletedL( iStatus.Int() ); } }