summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-21 22:12:58 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-21 22:12:58 +0000
commita1923e617066da321821a8ccbdf0fbadd77d80de (patch)
treeb9d584225fb0ecd77e49493da2d6f80fd4a44186
parentb61c145d0b762e5ef324073091ba6a67f7fc71f0 (diff)
downloadchromium_src-a1923e617066da321821a8ccbdf0fbadd77d80de.zip
chromium_src-a1923e617066da321821a8ccbdf0fbadd77d80de.tar.gz
chromium_src-a1923e617066da321821a8ccbdf0fbadd77d80de.tar.bz2
Coverity: Fix leaks.
CID=2168,8197,8198,100251,100256,100820,101011,101982,101983,101984,101988, 102256 BUG=none TEST=none R=dpapad Review URL: http://codereview.chromium.org/8989036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115422 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/themes/browser_theme_pack.cc5
-rw-r--r--chrome/installer/util/google_chrome_distribution.cc6
-rw-r--r--content/browser/renderer_host/media/video_capture_controller.cc5
-rw-r--r--content/browser/renderer_host/render_sandbox_host_linux.cc2
-rw-r--r--content/common/npobject_stub.cc2
-rw-r--r--ipc/ipc_channel_posix.cc2
-rw-r--r--net/socket/web_socket_server_socket.cc4
-rw-r--r--ppapi/native_client/src/trusted/plugin/plugin.cc6
-rw-r--r--remoting/protocol/rtp_reader.cc7
9 files changed, 25 insertions, 14 deletions
diff --git a/chrome/browser/themes/browser_theme_pack.cc b/chrome/browser/themes/browser_theme_pack.cc
index ff1121a..fd55ced 100644
--- a/chrome/browser/themes/browser_theme_pack.cc
+++ b/chrome/browser/themes/browser_theme_pack.cc
@@ -6,6 +6,7 @@
#include <limits>
+#include "base/memory/scoped_ptr.h"
#include "base/stl_util.h"
#include "base/string_util.h"
#include "base/threading/thread_restrictions.h"
@@ -338,7 +339,7 @@ BrowserThemePack* BrowserThemePack::BuildFromExtension(
DCHECK(extension);
DCHECK(extension->is_theme());
- BrowserThemePack* pack = new BrowserThemePack;
+ scoped_refptr<BrowserThemePack> pack = new BrowserThemePack;
pack->BuildHeader(extension);
pack->BuildTintsFromJSON(extension->GetThemeTints());
pack->BuildColorsFromJSON(extension->GetThemeColors());
@@ -363,7 +364,7 @@ BrowserThemePack* BrowserThemePack::BuildFromExtension(
pack->GenerateTabBackgroundImages(&pack->prepared_images_);
// The BrowserThemePack is now in a consistent state.
- return pack;
+ return pack.release();
}
// static
diff --git a/chrome/installer/util/google_chrome_distribution.cc b/chrome/installer/util/google_chrome_distribution.cc
index 974bba5..b8bf4c5 100644
--- a/chrome/installer/util/google_chrome_distribution.cc
+++ b/chrome/installer/util/google_chrome_distribution.cc
@@ -100,8 +100,12 @@ int GetDirectoryWriteTimeInHours(const wchar_t* path) {
if (INVALID_HANDLE_VALUE == file)
return -1;
FILETIME time;
- if (!::GetFileTime(file, NULL, NULL, &time))
+ if (!::GetFileTime(file, NULL, NULL, &time)) {
+ ::CloseHandle(file);
return -1;
+ }
+
+ ::CloseHandle(file);
return FileTimeToHours(time);
}
diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc
index a77747e4..c185dbe 100644
--- a/content/browser/renderer_host/media/video_capture_controller.cc
+++ b/content/browser/renderer_host/media/video_capture_controller.cc
@@ -5,6 +5,7 @@
#include "content/browser/renderer_host/media/video_capture_controller.h"
#include "base/bind.h"
+#include "base/memory/scoped_ptr.h"
#include "base/stl_util.h"
#include "content/browser/renderer_host/media/media_stream_manager.h"
#include "content/browser/renderer_host/media/video_capture_manager.h"
@@ -393,12 +394,12 @@ void VideoCaptureController::DoFrameInfoOnIOThread(
{
base::AutoLock lock(lock_);
for (size_t i = 1; i <= kNoOfDIBS; ++i) {
- base::SharedMemory* shared_memory = new base::SharedMemory();
+ scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory());
if (!shared_memory->CreateAndMapAnonymous(needed_size)) {
frames_created = false;
break;
}
- SharedDIB* dib = new SharedDIB(shared_memory);
+ SharedDIB* dib = new SharedDIB(shared_memory.release());
owned_dibs_.insert(std::make_pair(i, dib));
}
}
diff --git a/content/browser/renderer_host/render_sandbox_host_linux.cc b/content/browser/renderer_host/render_sandbox_host_linux.cc
index 79f4fb0..9fb2ad3 100644
--- a/content/browser/renderer_host/render_sandbox_host_linux.cc
+++ b/content/browser/renderer_host/render_sandbox_host_linux.cc
@@ -643,7 +643,7 @@ class SandboxIPCProcess {
const int lifeline_fd_;
const int browser_socket_;
- FontConfigDirect* const font_config_;
+ scoped_ptr<FontConfigDirect> font_config_;
std::vector<std::string> sandbox_cmd_;
scoped_ptr<content::WebKitPlatformSupportImpl> webkit_platform_support_;
};
diff --git a/content/common/npobject_stub.cc b/content/common/npobject_stub.cc
index 19474b4..b6f28a7 100644
--- a/content/common/npobject_stub.cc
+++ b/content/common/npobject_stub.cc
@@ -149,6 +149,7 @@ void NPObjectStub::OnInvoke(bool is_default,
NPObjectMsg_Invoke::WriteReplyParams(reply_msg, result_param,
return_value);
channel_->Send(reply_msg);
+ delete[] args_var;
return;
}
}
@@ -345,6 +346,7 @@ void NPObjectStub::OnConstruct(const std::vector<NPVariant_Param>& args,
NPObjectMsg_Invoke::WriteReplyParams(reply_msg, result_param,
return_value);
channel_->Send(reply_msg);
+ delete[] args_var;
return;
}
}
diff --git a/ipc/ipc_channel_posix.cc b/ipc/ipc_channel_posix.cc
index ffa69b57..d44c008 100644
--- a/ipc/ipc_channel_posix.cc
+++ b/ipc/ipc_channel_posix.cc
@@ -170,6 +170,8 @@ bool CreateServerUnixDomainSocket(const std::string& pipe_name,
FilePath path(pipe_name);
FilePath dir_path = path.DirName();
if (!file_util::CreateDirectory(dir_path)) {
+ if (HANDLE_EINTR(close(fd)) < 0)
+ PLOG(ERROR) << "close " << pipe_name;
return false;
}
diff --git a/net/socket/web_socket_server_socket.cc b/net/socket/web_socket_server_socket.cc
index e299bbc..b86ac32 100644
--- a/net/socket/web_socket_server_socket.cc
+++ b/net/socket/web_socket_server_socket.cc
@@ -731,13 +731,13 @@ class WebSocketServerSocketImpl : public net::WebSocketServerSocket {
}
operator net::DrainableIOBuffer*() {
- return new net::DrainableIOBuffer(io_buf_, bytes_written_);
+ return new net::DrainableIOBuffer(io_buf_.release(), bytes_written_);
}
bool is_ok() { return is_ok_; }
private:
- net::IOBuffer* io_buf_;
+ scoped_refptr<net::IOBuffer> io_buf_;
size_t bytes_written_;
bool is_ok_;
} buffer;
diff --git a/ppapi/native_client/src/trusted/plugin/plugin.cc b/ppapi/native_client/src/trusted/plugin/plugin.cc
index d9743e8..331744c 100644
--- a/ppapi/native_client/src/trusted/plugin/plugin.cc
+++ b/ppapi/native_client/src/trusted/plugin/plugin.cc
@@ -24,6 +24,7 @@
#include <string>
#include <vector>
+#include "base/memory/scoped_ptr.h"
#include "native_client/src/include/nacl_base.h"
#include "native_client/src/include/nacl_macros.h"
#include "native_client/src/include/nacl_scoped_ptr.h"
@@ -900,7 +901,8 @@ bool Plugin::Init(uint32_t argc, const char* argn[], const char* argv[]) {
HistogramEnumerateOsArch(GetSandboxISA());
init_time_ = NaClGetTimeOfDayMicroseconds();
- BrowserInterface* browser_interface = new(std::nothrow) BrowserInterface;
+ scoped_ptr<BrowserInterface> browser_interface(
+ new(std::nothrow) BrowserInterface);
if (browser_interface == NULL) {
return false;
}
@@ -919,7 +921,7 @@ bool Plugin::Init(uint32_t argc, const char* argn[], const char* argv[]) {
static_cast<const void*>(url_util_)));
bool status = Plugin::Init(
- browser_interface,
+ browser_interface.release(),
static_cast<int>(argc),
// TODO(polina): Can we change the args on our end to be const to
// avoid these ugly casts?
diff --git a/remoting/protocol/rtp_reader.cc b/remoting/protocol/rtp_reader.cc
index 50c2d82..8f8da7a 100644
--- a/remoting/protocol/rtp_reader.cc
+++ b/remoting/protocol/rtp_reader.cc
@@ -43,7 +43,7 @@ void RtpReader::Init(net::Socket* socket,
}
void RtpReader::OnDataReceived(net::IOBuffer* buffer, int data_size) {
- RtpPacket* packet = new RtpPacket();
+ scoped_ptr<RtpPacket> packet(new RtpPacket());
int header_size = UnpackRtpHeader(reinterpret_cast<uint8*>(buffer->data()),
data_size, packet->mutable_header());
if (header_size < 0) {
@@ -73,9 +73,8 @@ void RtpReader::OnDataReceived(net::IOBuffer* buffer, int data_size) {
int16 delta = sequence_number - max_sequence_number_;
if (delta <= -kMaxMisorder || delta > kMaxDropout) {
- // TODO(sergeyu): Do we need to handle restarted trasmission?
+ // TODO(sergeyu): Do we need to handle restarted transmission?
LOG(WARNING) << "Received RTP packet with invalid sequence number.";
- delete packet;
return;
}
@@ -91,7 +90,7 @@ void RtpReader::OnDataReceived(net::IOBuffer* buffer, int data_size) {
++total_packets_received_;
- on_message_callback_.Run(packet);
+ on_message_callback_.Run(packet.release());
}
void RtpReader::GetReceiverReport(RtcpReceiverReport* report) {