fix simuldaemon crash 66/159666/7
authorleejungkyuen <jklolo.lee@samsung.com>
Thu, 26 Oct 2017 03:49:13 +0000 (12:49 +0900)
committerKrzysztof Dynowski <k.dynowski@samsung.com>
Tue, 27 Feb 2018 13:29:23 +0000 (14:29 +0100)
Change-Id: Ia1dcdfcefc0285b3104119c94429dcac95095ccb

simulatordaemon/src/Session.cpp
simulatordaemon/src/TEEContext.cpp

index e9b84d3..adfd12e 100644 (file)
@@ -64,7 +64,10 @@ TAInstancePtr Session::getTAInstance() {
 }
 
 SecurityContext Session::getSecurityContext() {
-       return mContext->secContext;
+       if (mContext != NULL) {
+               return mContext->secContext;
+       }
+       return SecurityContext();
 }
 
 void Session::detachFromContext() {
@@ -82,7 +85,9 @@ void Session::detachFromContext() {
 }
 
 TEEC_Result Session::writeResponse(TEE_CMD command, char* data, size_t size) {
-       return mContext->mConnSess->write(command, data, size);
+       if (mContext != NULL)
+               return mContext->mConnSess->write(command, data, size);
+       else return TEEC_ERROR_GENERIC;
 }
 /**
  * Session initializer. Called after Session constructor to initialize a
index 189f918..0bcd678 100644 (file)
@@ -138,6 +138,7 @@ void TEEContext::finContext(FinalizeContextData data) {
                        CloseSessionData cdata;
                        cdata.contextID = data.contextID;
                        cdata.sessionID = it->first;
+                       it->second->finalize(0);
                        result = closeSession(cdata);
                        if (TEE_SUCCESS != result) {
                                LOGE(SIM_DAEMON, "Finalize Context - close session FAILED Session ID = %d\n", it->first);