diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-09-12 05:37:38 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-09-12 05:37:38 +0000 |
commit | fbcc6dea0c86e7e4d087f1d4b2de19b211d16647 (patch) | |
tree | 68bde87194755712893e5efa4d7f9d2f5312df10 /hash.c | |
parent | 9d823983dc3e88cb7775c78908a4bb5133ad88ac (diff) |
matz: 1.6.0 final (hopufully)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'hash.c')
-rw-r--r-- | hash.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1055,7 +1055,8 @@ ruby_setenv(name, value) environ = tmpenv; /* tell exec where it is now */ } if (!value) { - free(environ[i]); + if (environ[i] != origenviron[i]) + free(environ[i]); while (environ[i]) { environ[i] = environ[i+1]; i++; @@ -1067,7 +1068,8 @@ ruby_setenv(name, value) environ[i+1] = 0; /* make sure it's null terminated */ } else { - free(environ[i]); + if (environ[i] != origenviron[i]) + free(environ[i]); } environ[i] = ALLOC_N(char, strlen(name) + strlen(value) + 2); #ifndef MSDOS |