supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp
changeset 22 4c4ed41530db
parent 0 667063e416a2
child 32 b12ea03c50a3
--- 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() );
     		    }
     }