Code: void NaClProcessHost::OnProcessLaunched() {
  FilePath irt_path;
  const char* irt_path_var = getenv("NACL_IRT_LIBRARY");
  if (irt_path_var != NULL) {
    FilePath::StringType string(irt_path_var,
                                irt_path_var + strlen(irt_path_var));
    irt_path = FilePath(string);
  } else {
    FilePath plugin_dir;
    if (!PathService::Get(chrome::DIR_INTERNAL_PLUGINS, &plugin_dir)) {
      LOG(ERROR) << "Failed to locate the plugins directory";
      delete this;
      return;
    }
    irt_path = plugin_dir.Append(GetIrtLibraryFilename());
  }

  base::FileUtilProxy::CreateOrOpenCallback* callback =
      callback_factory_.NewCallback(&NaClProcessHost::OpenIrtFileDone);
  if (!base::FileUtilProxy::CreateOrOpen(
           BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE),
            irt_path,
            base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ,
            callback)) {
    delete callback;
     delete this;
   }
 }

Vulnerability Type: DoS 
CWE ID: CWE-399
Summary: Use-after-free vulnerability in Google Chrome before 14.0.835.202 allows remote attackers to cause a denial of service or possibly have unspecified other impact via vectors related to the Google V8 bindings.
Commit Message: Fix a small leak in FileUtilProxy

BUG=none
TEST=green mem bots

Review URL: http://codereview.chromium.org/7669046

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97451 0039d316-1c4b-4281-b951-d872f2087c98