| Index: chrome/browser/zygote_host_linux.cc
|
| diff --git a/chrome/browser/zygote_host_linux.cc b/chrome/browser/zygote_host_linux.cc
|
| index 75987a4c97ca9a6d9368a35c8492920e0f5f501c..95db15af3c8a3e3b08a9614fd79e3d54d1ac0955 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);
|
| }
|
|
|