diff -r 02ba3f1733c6 -r 2b4ea9893b66 supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp --- a/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp Thu Aug 19 10:20:18 2010 +0300 +++ b/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp Tue Aug 31 15:37:04 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 ) {