aboutsummaryrefslogtreecommitdiffstats
path: root/ruby.c
diff options
context:
space:
mode:
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ruby.c b/ruby.c
index 49c33d3167..99f1f1984f 100644
--- a/ruby.c
+++ b/ruby.c
@@ -379,7 +379,7 @@ ruby_init_loadpath_safe(int safe_level)
}
}
else {
- strcpy(libpath, ".");
+ strlcpy(libpath, ".", sizeof(libpath));
p = libpath + 1;
}
@@ -522,15 +522,16 @@ moreswitches(const char *s, struct cmdline_options *opt, int envopt)
char **argv, *p;
const char *ap = 0;
VALUE argstr, argary;
+ int len;
while (ISSPACE(*s)) s++;
if (!*s) return;
- argstr = rb_str_tmp_new(strlen(s) + 2);
+ argstr = rb_str_tmp_new((len = strlen(s)) + 2);
argary = rb_str_tmp_new(0);
p = RSTRING_PTR(argstr);
*p++ = ' ';
- strcpy(p, s);
+ memcpy(p, s, len + 1);
ap = 0;
rb_str_cat(argary, (char *)&ap, sizeof(ap));
while (*p) {