diff options
-rw-r--r-- | sysif.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -1511,7 +1511,10 @@ static val setenv_wrap(val name, val value, val overwrite) char *nameu8 = utf8_dup_to(wname); char *valu8 = wvalu ? utf8_dup_to(wvalu) : 0; if (valu8) { - setenv(nameu8, valu8, ovw); + if (setenv(nameu8, valu8, ovw) < 0) + uw_ethrowf(system_error_s, lit("~a: setenv failed: ~d/~s"), + self, num(errno), errno_to_str(errno), nao); + env_list = nil; if (env_hash) { |