diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-03-17 01:29:17 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-03-17 01:29:17 +0000 |
commit | 68fb85a36ad39d5594c1ecfbf985d56e73adcaa5 (patch) | |
tree | 7873fbf3dad59cb2042390c1c2dbfe90d5b6e647 /dir.c | |
parent | 61618d9b634c10e93dcb2496b2955581cf4871e4 (diff) | |
download | ruby-68fb85a36ad39d5594c1ecfbf985d56e73adcaa5.tar.gz ruby-68fb85a36ad39d5594c1ecfbf985d56e73adcaa5.tar.xz ruby-68fb85a36ad39d5594c1ecfbf985d56e73adcaa5.zip |
* dir.c, dln.c, parse.y, re.c, ruby.c, sprintf.c, strftime.c,
string.c, util.c, variable.c: use strlcpy, memcpy and snprintf
instead of strcpy, strncpy and sprintf.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'dir.c')
-rw-r--r-- | dir.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -1463,7 +1463,8 @@ ruby_brace_expand(const char *str, int flags, ruby_glob_func *func, VALUE arg, } if (lbrace && rbrace) { - char *buf = GLOB_ALLOC_N(char, strlen(s) + 1); + size_t len = strlen(s) + 1; + char *buf = GLOB_ALLOC_N(char, len); long shift; if (!buf) return -1; @@ -1482,7 +1483,7 @@ ruby_brace_expand(const char *str, int flags, ruby_glob_func *func, VALUE arg, Inc(p, pend, enc); } memcpy(buf+shift, t, p-t); - strcpy(buf+shift+(p-t), rbrace+1); + strlcpy(buf+shift+(p-t), rbrace+1, len-(shift+(p-t))); status = ruby_brace_expand(buf, flags, func, arg, enc); if (status) break; } |