summaryrefslogtreecommitdiffstats
path: root/chrome/browser/zygote_host_linux.cc
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-31 16:55:40 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-31 16:55:40 +0000
commitfc586c7e48d90dac7963906bf34c8f6382b55846 (patch)
tree6357b8467129dbf4a5c970f1f7c4645da2bd9e51 /chrome/browser/zygote_host_linux.cc
parentf44f18cee25dd55a14f1df0e99ac2c9e3e9214bc (diff)
downloadchromium_src-fc586c7e48d90dac7963906bf34c8f6382b55846.zip
chromium_src-fc586c7e48d90dac7963906bf34c8f6382b55846.tar.gz
chromium_src-fc586c7e48d90dac7963906bf34c8f6382b55846.tar.bz2
Reland r54418 - base: Add UnSetEnv function to EnvVarGetter API.
This reverts commit 7ed083f6d2b1b0a09c8bf9470386ba3e38f2feed. It was reverted due to crbug.com/50663 started failing when I land this patch, so I'm relanding it now again. BUG=None TEST=trybots TBR=thestig@chromium.org Review URL: http://codereview.chromium.org/3043018 Review URL: http://codereview.chromium.org/3076020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54451 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/zygote_host_linux.cc')
-rw-r--r--chrome/browser/zygote_host_linux.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/chrome/browser/zygote_host_linux.cc b/chrome/browser/zygote_host_linux.cc
index 75987a4..95db15a 100644
--- a/chrome/browser/zygote_host_linux.cc
+++ b/chrome/browser/zygote_host_linux.cc
@@ -11,6 +11,7 @@
#include "base/command_line.h"
#include "base/eintr_wrapper.h"
+#include "base/env_var.h"
#include "base/linux_util.h"
#include "base/logging.h"
#include "base/path_service.h"
@@ -18,6 +19,7 @@
#include "base/process_util.h"
#include "base/string_number_conversions.h"
#include "base/string_util.h"
+#include "base/scoped_ptr.h"
#include "base/unix_domain_socket_posix.h"
#include "chrome/browser/renderer_host/render_sandbox_host_linux.h"
@@ -38,11 +40,12 @@ static void SaveSUIDUnsafeEnvironmentVariables() {
if (!saved_envvar)
continue;
- const char* const value = getenv(envvar);
- if (value)
- setenv(saved_envvar, value, 1 /* overwrite */);
+ scoped_ptr<base::EnvVarGetter> env(base::EnvVarGetter::Create());
+ std::string value;
+ if (env->GetEnv(envvar, &value))
+ env->SetEnv(saved_envvar, value);
else
- unsetenv(saved_envvar);
+ env->UnSetEnv(saved_envvar);
free(saved_envvar);
}