From 043dffa69ac1e790894288a3ae7da42635b03fb5 Mon Sep 17 00:00:00 2001 From: jk13 Date: Tue, 14 Apr 2015 22:36:41 +0900 Subject: [PATCH] Soft Sensor Manager - Fix 64bit build warnings and crash Fix 64bit build warnings and crash due to invalid pointer value Change-Id: I97400c77ad82d072237893da264e60afa7d36b38 Signed-off-by: jk13 Reviewed-on: https://gerrit.iotivity.org/gerrit/719 Tested-by: jenkins-iotivity Reviewed-by: Uze Choi --- .../SSMCore/src/QueryProcessor/EvaluationEngine.cpp | 2 +- .../SSMCore/src/QueryProcessor/QueryEngine.cpp | 4 ++-- .../SSMCore/src/SSMInterface/SSMResourceServer.cpp | 8 +++----- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/service/soft-sensor-manager/SSMCore/src/QueryProcessor/EvaluationEngine.cpp b/service/soft-sensor-manager/SSMCore/src/QueryProcessor/EvaluationEngine.cpp index 29603f2..11f76e5 100644 --- a/service/soft-sensor-manager/SSMCore/src/QueryProcessor/EvaluationEngine.cpp +++ b/service/soft-sensor-manager/SSMCore/src/QueryProcessor/EvaluationEngine.cpp @@ -75,7 +75,7 @@ CLEANUP: void CEvaluationEngine::onSQLTrigger(IN sqlite3_context *context, IN int argc, IN sqlite3_value **argv) { - CEvaluationEngine *pEvaluationEngine = (CEvaluationEngine *)sqlite3_value_int(argv[0]); + CEvaluationEngine *pEvaluationEngine = (CEvaluationEngine *)sqlite3_value_int64(argv[0]); pEvaluationEngine->onWatcherTriggered(sqlite3_value_int(argv[1]), sqlite3_value_int(argv[2])); } diff --git a/service/soft-sensor-manager/SSMCore/src/QueryProcessor/QueryEngine.cpp b/service/soft-sensor-manager/SSMCore/src/QueryProcessor/QueryEngine.cpp index 59e130b..3630e05 100644 --- a/service/soft-sensor-manager/SSMCore/src/QueryProcessor/QueryEngine.cpp +++ b/service/soft-sensor-manager/SSMCore/src/QueryProcessor/QueryEngine.cpp @@ -261,12 +261,12 @@ void CQueryEngine::onTerminate(void *pArg) switch (pData[0]) { case EVENT_TYPE_INNER: - pResult = (std::vector *)(((int *)pArg)[2]); + pResult = (std::vector *)pData[2]; SAFE_DELETE(pResult); break; case EVENT_TYPE_OUTER: - pDataReader = (CDataReader *)(((int *)pArg)[2]); + pDataReader = (CDataReader *)pData[2]; SAFE_DELETE(pDataReader); break; diff --git a/service/soft-sensor-manager/SSMCore/src/SSMInterface/SSMResourceServer.cpp b/service/soft-sensor-manager/SSMCore/src/SSMInterface/SSMResourceServer.cpp index 9ec71d2..85b0c30 100644 --- a/service/soft-sensor-manager/SSMCore/src/SSMInterface/SSMResourceServer.cpp +++ b/service/soft-sensor-manager/SSMCore/src/SSMInterface/SSMResourceServer.cpp @@ -202,8 +202,6 @@ OCEntityHandlerResult SSMResourceServer::entityHandler(std::shared_ptr< OCResour if (requestFlag & RequestHandlerFlag::RequestFlag) { - std::cout << "\t\trequestFlag : Request\n"; - // If the request type is GET if (requestType == "GET") { @@ -274,7 +272,7 @@ OCEntityHandlerResult SSMResourceServer::entityHandler(std::shared_ptr< OCResour } else if (rep.getValue("command") == "ReleaseQueryEngine") { - pQueryEngine = (IQueryEngine *) std::stoi( + pQueryEngine = (IQueryEngine *) std::stol( rep.getValue("queryEngineId")); ReleaseQueryEngine(pQueryEngine); @@ -283,7 +281,7 @@ OCEntityHandlerResult SSMResourceServer::entityHandler(std::shared_ptr< OCResour { int CQID = 0; - pQueryEngine = (IQueryEngine *) std::stoi( + pQueryEngine = (IQueryEngine *)std::stol( rep.getValue("queryEngineId")); res = pQueryEngine->executeContextQuery( @@ -301,7 +299,7 @@ OCEntityHandlerResult SSMResourceServer::entityHandler(std::shared_ptr< OCResour } else if (rep.getValue("command") == "KillContextQuery") { - pQueryEngine = (IQueryEngine *) std::stoi( + pQueryEngine = (IQueryEngine *)std::stol( rep.getValue("queryEngineId")); res = pQueryEngine->killContextQuery(std::stoi(rep.getValue("CQID"))); -- 2.7.4