From 961d1bdae7041ccace312d894156c674eaf8f763 Mon Sep 17 00:00:00 2001 From: Satheesh Jayakumar Date: Wed, 21 Aug 2013 17:46:13 -0700 Subject: [PATCH] Fix for the crash that was caused when accessing UlpProxy Changes to ensure that we dont free UlpProxy object by mistake when loc_init is invoked twice. CRs-Fixed: 532599 Change-Id: I0989368b67614181b3d834e61690211497663352 --- loc_api/libloc_api_50001/LocEngAdapter.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/loc_api/libloc_api_50001/LocEngAdapter.cpp b/loc_api/libloc_api_50001/LocEngAdapter.cpp index 116a8ae7..9545681a 100644 --- a/loc_api/libloc_api_50001/LocEngAdapter.cpp +++ b/loc_api/libloc_api_50001/LocEngAdapter.cpp @@ -90,6 +90,11 @@ LocEngAdapter::~LocEngAdapter() void LocEngAdapter::setUlpProxy(UlpProxyBase* ulp) { + if (ulp == mUlp) { + //This takes care of the case when double initalization happens + //and we get the same object back for UlpProxyBase . Do nothing + return; + } delete mUlp; LOC_LOGV("%s] %p", __func__, ulp); if (NULL == ulp) {