summaryrefslogtreecommitdiff
path: root/process.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-11-08 06:43:14 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-11-08 06:43:14 +0000
commitdc98adf839d0d68c4c18647a1db2fb3dc9be8cc4 (patch)
tree7f6e3c4b45359409bf57526308837f5dbbc45905 /process.c
parentab827130d3f563535abb7404230f5b5e63bf0946 (diff)
* process.c (security): always give warning for insecure PATH.
* dir.c (my_getcwd): do not rely on MAXPATHLEN. * file.c (rb_file_s_readlink): ditto. * file.c (path_check_1): ditto. * eval.c (rb_yield_0): should not call rb_f_block_given_p(). * string.c (rb_str_chomp_bang): should terminate string by NUL. * eval.c (rb_yield_0): better error message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r--process.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/process.c b/process.c
index 2525c9cd42..f598914f1a 100644
--- a/process.c
+++ b/process.c
@@ -422,10 +422,13 @@ static void
security(str)
char *str;
{
- if (rb_safe_level() > 0) {
- if (rb_env_path_tainted()) {
+ if (rb_env_path_tainted()) {
+ if (rb_safe_level() > 0) {
rb_raise(rb_eSecurityError, "Insecure PATH - %s", str);
}
+ else {
+ rb_warn("Insecure PATH - %s", str);
+ }
}
}
@@ -521,8 +524,6 @@ rb_proc_exec(str)
char *ss, *t;
char **argv, **a;
- security(str);
-
while (*str && ISSPACE(*str))
str++;