excelgco / FastDFS_Client_Win

FastDFS Client For VC++
GNU General Public License v2.0
10 stars 9 forks source link

memery leak #1

Open turbin opened 8 years ago

turbin commented 8 years ago

in: UINT32 TrackerMgr::Initialize(ServerAddress *pAddr, UINT32 nArrCount) from line 40, if the connectToTracker failed, 指针pCurrentConn不会被释放。 nRet = ConnectToTracker(pCurrentConn); if(nRet != enumSuccess_FDFS) { DeleteCriticalSection(&pCurrentConn->csRecv); DeleteCriticalSection(&pCurrentConn->csSend); delete pCurrentConn;

代码中还有几处创建后未释放的地方。

同时建议void TrackerMgr::UnInitialize() 这个操作添加到类的析构函数中。 在判断m_deqConnectionInfo的大小。如果在类析构时发现m_deqConnectionInfo的大小大于0,则执行UnInitialize()

还有对list的遍历请使用iterator。而不要使用m_deqConnectionInfo[]取下标的方式。对执行效率有影响

excelgco commented 8 years ago

谢谢关注,会尽快改正