Ver código fonte

Adpater未连接时ReqMessage内存泄露

wuxiaofeng1 1 ano atrás
pai
commit
7e8d2ebb3d
1 arquivos alterados com 5 adições e 1 exclusões
  1. 5 1
      servant/libservant/ObjectProxy.cpp

+ 5 - 1
servant/libservant/ObjectProxy.cpp

@@ -237,7 +237,7 @@ void ObjectProxy::doInvokeException(ReqMessage * msg)
     //标识请求异常
     msg->eStatus = ReqMessage::REQ_EXC;
 
-    if (!msg->adapter)
+    if (msg->adapter)
     {
         msg->adapter->stat(msg);
     }
@@ -279,6 +279,8 @@ void ObjectProxy::doInvokeException(ReqMessage * msg)
 				{
 					TLOGERROR("[ObjectProxy::doInvokeException exp:unknown line:|"<<__LINE__<<endl);
 				}
+                delete msg;
+                msg = NULL;
 			}
 			else
 			{
@@ -291,6 +293,8 @@ void ObjectProxy::doInvokeException(ReqMessage * msg)
                 else
                 {
                     TLOGERROR("[ObjectProxy::doInvokeException push adapter is null|" << __LINE__ << endl);
+                    delete msg;
+                    msg = NULL;
                 }
 			}
 		}