1
0
Эх сурвалжийг харах

Merge pull request #262 from wincsb/master

Fix possible memory leaks
ruanshudong 1 жил өмнө
parent
commit
5fbcdc6322

+ 3 - 2
util/src/tc_http.cpp

@@ -2279,6 +2279,7 @@ int TC_HttpRequest::doRequest(const string &sSendBuffer, TC_TCPClient &tcpClient
 			else
 			{
 					recvBuffer->addWriteIdx(iRecvLen);
+					rbuf->addLength(iRecvLen);
 				
 			}
 		}
@@ -2286,13 +2287,13 @@ int TC_HttpRequest::doRequest(const string &sSendBuffer, TC_TCPClient &tcpClient
 		switch (iRet)
 		{
 		case TC_ClientSocket::EM_SUCCESS:
-			if (stHttpRsp.incrementDecode(*rbuf->getBuffer()))
+			if (stHttpRsp.incrementDecode(*rbuf))
 			{
 				return TC_ClientSocket::EM_SUCCESS;
 			}
 			continue;
 		case TC_ClientSocket::EM_CLOSE:
-			stHttpRsp.incrementDecode(*rbuf->getBuffer());
+			stHttpRsp.incrementDecode(*rbuf);
 			return TC_ClientSocket::EM_SUCCESS;
 		default:
 			return iRet;

+ 2 - 2
util/src/tc_network_buffer.cpp

@@ -1,4 +1,4 @@
-/**
+/**
  * Tencent is pleased to support the open source community by making Tars available.
  *
  * Copyright (C) 2016THL A29 Limited, a Tencent company. All rights reserved.
@@ -41,7 +41,7 @@ void TC_NetWorkBuffer::Buffer::alloc(size_t len)
 		_capacity = len;
 		if(_buffer)
 		{
-			delete _buffer;
+			delete[] _buffer;
 			_buffer = NULL;
 		}
 	}