Skip to content

Commit 8112c27

Browse files
author
arno
committed
- Mem cleanup and small reformat. git-svn-id: http://svn.tribler.org/libswift/branches/arno/swift-like-ftp@28148 001aeff7-3401-0410-a489-f7902fc005dd
1 parent e4e7ac4 commit 8112c27

File tree

4 files changed

+40
-33
lines changed

4 files changed

+40
-33
lines changed

binmap.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,13 @@ bool binmap_t::reserve_cells(size_t count)
269269
fprintf(stderr, "Warning: binmap_t::reserve_cells: MEMORY ERROR\n");
270270
return false /* MEMORY ERROR */;
271271
}
272+
273+
// Arno, 2012-09-13: Clear cells before use.
274+
if (new_cells_number > cells_number_) {
275+
for (int i=cells_number_; i<new_cells_number; i++) {
276+
memset(&cell[i], 0, sizeof(cell_t));
277+
}
278+
}
272279

273280
cell_ = cell;
274281
cells_number_ = new_cells_number;

channel.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -298,13 +298,13 @@ int Channel::RecvFrom (evutil_socket_t sock, Address& addr, struct evbuffer *evb
298298
#ifdef _WIN32
299299
if (WSAGetLastError() == 10054) // Sometimes errno == 2 ?!
300300
#else
301-
if (errno == ECONNREFUSED)
301+
if (errno == ECONNREFUSED)
302302
#endif
303-
{
304-
CloseChannelByAddress(addr);
305-
}
303+
{
304+
CloseChannelByAddress(addr);
305+
}
306306
else
307-
print_error("error on recv");
307+
print_error("error on recv");
308308
}
309309
vec.iov_len = length;
310310
if (evbuffer_commit_space(evb, &vec, 1) < 0) {

hashtree.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -279,8 +279,8 @@ void MmapHashTree::RecoverProgress () {
279279
if (rd!=(chunk_size_) && p==size_in_chunks()-1) // set the exact file size
280280
size_ = ((sizec_-1)*chunk_size_) + rd;
281281
}
282-
delete buf;
283-
delete zero_chunk;
282+
delete[] buf;
283+
delete[] zero_chunk;
284284
}
285285

286286
/** Precondition: root hash known */

sendrecv.cpp

+26-26
Original file line numberDiff line numberDiff line change
@@ -1037,18 +1037,18 @@ void Channel::RecvDatagram (evutil_socket_t socket) {
10371037
FileTransfer* ft = FileTransfer::Find(hash);
10381038
if (!ft)
10391039
{
1040-
ZeroState *zs = ZeroState::GetInstance();
1041-
ft = zs->Find(hash);
1042-
if (!ft)
1043-
return_log ("%s #0 hash %s unknown, requested by %s\n",tintstr(),hash.hex().c_str(),addr.str());
1040+
ZeroState *zs = ZeroState::GetInstance();
1041+
ft = zs->Find(hash);
1042+
if (!ft)
1043+
return_log ("%s #0 hash %s unknown, requested by %s\n",tintstr(),hash.hex().c_str(),addr.str());
10441044
}
1045-
else if (ft->IsZeroState() && !ft->hashtree()->is_complete())
1046-
{
1047-
return_log ("%s #0 zero hash %s broken, requested by %s\n",tintstr(),hash.hex().c_str(),addr.str());
1048-
}
1045+
else if (ft->IsZeroState() && !ft->hashtree()->is_complete())
1046+
{
1047+
return_log ("%s #0 zero hash %s broken, requested by %s\n",tintstr(),hash.hex().c_str(),addr.str());
1048+
}
10491049
if (!ft->IsOperational())
10501050
{
1051-
return_log ("%s #0 hash %s broken, requested by %s\n",tintstr(),hash.hex().c_str(),addr.str());
1051+
return_log ("%s #0 hash %s broken, requested by %s\n",tintstr(),hash.hex().c_str(),addr.str());
10521052
}
10531053

10541054
dprintf("%s #0 -hash ALL %s\n",tintstr(),hash.hex().c_str());
@@ -1057,18 +1057,18 @@ void Channel::RecvDatagram (evutil_socket_t socket) {
10571057
Channel* existchannel = ft->FindChannel(addr,NULL);
10581058
if (existchannel)
10591059
{
1060-
// Arno: 2011-10-13: Ignore if established, otherwise consider
1061-
// it a concurrent connection attempt.
1062-
if (existchannel->is_established()) {
1063-
// ARNOTODO: Read complete handshake here so we know whether
1064-
// attempt is to new channel or to existing. Currently read
1065-
// in OnHandshake()
1066-
//
1067-
return_log("%s #0 have a channel already to %s\n",tintstr(),addr.str());
1068-
} else {
1069-
channel = existchannel;
1070-
//fprintf(stderr,"Channel::RecvDatagram: HANDSHAKE: reuse channel %s\n", channel->peer_.str() );
1071-
}
1060+
// Arno: 2011-10-13: Ignore if established, otherwise consider
1061+
// it a concurrent connection attempt.
1062+
if (existchannel->is_established()) {
1063+
// ARNOTODO: Read complete handshake here so we know whether
1064+
// attempt is to new channel or to existing. Currently read
1065+
// in OnHandshake()
1066+
//
1067+
return_log("%s #0 have a channel already to %s\n",tintstr(),addr.str());
1068+
} else {
1069+
channel = existchannel;
1070+
//fprintf(stderr,"Channel::RecvDatagram: HANDSHAKE: reuse channel %s\n", channel->peer_.str() );
1071+
}
10721072
}
10731073
if (channel == NULL) {
10741074
//fprintf(stderr,"Channel::RecvDatagram: HANDSHAKE: create new channel %s\n", addr.str() );
@@ -1088,10 +1088,10 @@ void Channel::RecvDatagram (evutil_socket_t socket) {
10881088
channel = channels[mych];
10891089
if (!channel)
10901090
return_log ("%s #%u is already closed\n",tintstr(),mych);
1091-
if (channel->IsDiffSenderOrDuplicate(addr,mych)) {
1092-
channel->Schedule4Close();
1093-
return;
1094-
}
1091+
if (channel->IsDiffSenderOrDuplicate(addr,mych)) {
1092+
channel->Schedule4Close();
1093+
return_log ("%s #%u is duplicate\n",tintstr(),mych);
1094+
}
10951095
channel->own_id_mentioned_ = true;
10961096
}
10971097
channel->raw_bytes_down_ += evboriglen;
@@ -1100,7 +1100,7 @@ void Channel::RecvDatagram (evutil_socket_t socket) {
11001100

11011101
//dprintf("%s #%u peer %s recv_peer %s addr %s\n", tintstr(),mych, channel->peer().str(), channel->recv_peer().str(), addr.str() );
11021102

1103-
channel->Recv(evb);
1103+
channel->Recv(evb);
11041104

11051105
evbuffer_free(evb);
11061106
//SAFECLOSE

0 commit comments

Comments
 (0)