summaryrefslogtreecommitdiff
path: root/src/loslib.js
diff options
context:
space:
mode:
authordaurnimator <quae@daurnimator.com>2017-11-12 21:47:20 +1100
committerdaurnimator <quae@daurnimator.com>2017-11-12 22:20:05 +1100
commit81a0e90a502faf9edebc63f54fce51aae4397e72 (patch)
treeddafa864320c720117d6efc73a22e29d1dcdd7da /src/loslib.js
parent57027388763058b030a91e82d7cbfe04153aa38c (diff)
downloadfengari-81a0e90a502faf9edebc63f54fce51aae4397e72.tar.gz
fengari-81a0e90a502faf9edebc63f54fce51aae4397e72.tar.bz2
fengari-81a0e90a502faf9edebc63f54fce51aae4397e72.zip
src/loslib.js: Check that var exists in process.env before indexing
Solves issues with os.getenv'hasOwnProperty'
Diffstat (limited to 'src/loslib.js')
-rw-r--r--src/loslib.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/loslib.js b/src/loslib.js
index 745bbab..4d549b6 100644
--- a/src/loslib.js
+++ b/src/loslib.js
@@ -178,7 +178,11 @@ if (!WEB) {
syslib.getenv = function(L) {
let key = lauxlib.luaL_checkstring(L, 1);
key = lua.to_jsstring(key); /* https://github.com/nodejs/node/issues/16961 */
- lua.lua_pushliteral(L, process.env[key]); /* if NULL push nil */
+ if (Object.prototype.hasOwnProperty.call(process.env, key)) {
+ lua.lua_pushliteral(L, process.env[key]);
+ } else {
+ lua.lua_pushnil(L);
+ }
return 1;
};