diff options
| author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-21 22:12:58 +0000 | 
|---|---|---|
| committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-21 22:12:58 +0000 | 
| commit | a1923e617066da321821a8ccbdf0fbadd77d80de (patch) | |
| tree | b9d584225fb0ecd77e49493da2d6f80fd4a44186 | |
| parent | b61c145d0b762e5ef324073091ba6a67f7fc71f0 (diff) | |
| download | chromium_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.cc | 5 | ||||
| -rw-r--r-- | chrome/installer/util/google_chrome_distribution.cc | 6 | ||||
| -rw-r--r-- | content/browser/renderer_host/media/video_capture_controller.cc | 5 | ||||
| -rw-r--r-- | content/browser/renderer_host/render_sandbox_host_linux.cc | 2 | ||||
| -rw-r--r-- | content/common/npobject_stub.cc | 2 | ||||
| -rw-r--r-- | ipc/ipc_channel_posix.cc | 2 | ||||
| -rw-r--r-- | net/socket/web_socket_server_socket.cc | 4 | ||||
| -rw-r--r-- | ppapi/native_client/src/trusted/plugin/plugin.cc | 6 | ||||
| -rw-r--r-- | remoting/protocol/rtp_reader.cc | 7 | 
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) { | 
