Author: [email protected]
Date: Wed Mar 18 06:32:22 2009
New Revision: 1536
Modified:
branches/bleeding_edge/src/platform-freebsd.cc
branches/bleeding_edge/src/platform-linux.cc
branches/bleeding_edge/src/platform-macos.cc
branches/bleeding_edge/src/platform-win32.cc
branches/bleeding_edge/test/cctest/test-sockets.cc
Log:
Fixed memory leaks in socket implementation.
Fixed memory leaks reported by valgring in the socket implementation and
socket tests.
BUG=276
Review URL: http://codereview.chromium.org/42331
Modified: branches/bleeding_edge/src/platform-freebsd.cc
==============================================================================
--- branches/bleeding_edge/src/platform-freebsd.cc (original)
+++ branches/bleeding_edge/src/platform-freebsd.cc Wed Mar 18 06:32:22 2009
@@ -735,6 +735,7 @@
// Connect.
status = connect(socket_, result->ai_addr, result->ai_addrlen);
+ freeaddrinfo(result);
return status == 0;
}
Modified: branches/bleeding_edge/src/platform-linux.cc
==============================================================================
--- branches/bleeding_edge/src/platform-linux.cc (original)
+++ branches/bleeding_edge/src/platform-linux.cc Wed Mar 18 06:32:22 2009
@@ -736,6 +736,7 @@
// Connect.
status = connect(socket_, result->ai_addr, result->ai_addrlen);
+ freeaddrinfo(result);
return status == 0;
}
Modified: branches/bleeding_edge/src/platform-macos.cc
==============================================================================
--- branches/bleeding_edge/src/platform-macos.cc (original)
+++ branches/bleeding_edge/src/platform-macos.cc Wed Mar 18 06:32:22 2009
@@ -667,6 +667,7 @@
// Connect.
status = connect(socket_, result->ai_addr, result->ai_addrlen);
+ freeaddrinfo(result);
return status == 0;
}
Modified: branches/bleeding_edge/src/platform-win32.cc
==============================================================================
--- branches/bleeding_edge/src/platform-win32.cc (original)
+++ branches/bleeding_edge/src/platform-win32.cc Wed Mar 18 06:32:22 2009
@@ -1634,6 +1634,7 @@
// Connect.
status = connect(socket_, result->ai_addr, result->ai_addrlen);
+ freeaddrinfo(result);
return status == 0;
}
Modified: branches/bleeding_edge/test/cctest/test-sockets.cc
==============================================================================
--- branches/bleeding_edge/test/cctest/test-sockets.cc (original)
+++ branches/bleeding_edge/test/cctest/test-sockets.cc Wed Mar 18 06:32:22
2009
@@ -22,6 +22,8 @@
// Close both sockets.
delete client_;
delete server_;
+ delete listening_;
+ delete[] data_;
}
void Run();
@@ -128,6 +130,7 @@
medium_data[i] = i % 256;
}
SendAndReceive(medium_data, kBufferSizeMedium);
+ delete[] medium_data;
// Send and receive even more data.
static const int kBufferSizeLarge = 1000000;
@@ -136,6 +139,7 @@
large_data[i] = i % 256;
}
SendAndReceive(large_data, kBufferSizeLarge);
+ delete[] large_data;
}
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---