summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2017-05-25 13:32:37 -0400
committerJames M Snell <jasnell@gmail.com>2017-05-29 09:36:05 -0700
commitac2e8820c4c4188e54afa0cf0d9fea8ec823e15d (patch)
tree618c9f54db128477047f0b1428e3de7e3ea4f6b7
parent9fa148909c236a8f8c553d9ea160d23a9c1a25c3 (diff)
downloadnode-new-ac2e8820c4c4188e54afa0cf0d9fea8ec823e15d.tar.gz
src: reduce duplicate code in SafeGetenv()
PR-URL: https://github.com/nodejs/node/pull/13220 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
-rw-r--r--src/node.cc13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/node.cc b/src/node.cc
index f2688f2ecf..60fba9ad2f 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -975,19 +975,16 @@ Local<Value> UVException(Isolate* isolate,
// Look up environment variable unless running as setuid root.
bool SafeGetenv(const char* key, std::string* text) {
#ifndef _WIN32
- if (getuid() != geteuid() || getgid() != getegid()) {
- text->clear();
- return false;
- }
+ if (linux_at_secure || getuid() != geteuid() || getgid() != getegid())
+ goto fail;
#endif
- if (linux_at_secure) {
- text->clear();
- return false;
- }
+
if (const char* value = getenv(key)) {
*text = value;
return true;
}
+
+fail:
text->clear();
return false;
}