From 7dbb64a2ea3df9fd4a4208ade016104042b69487 Mon Sep 17 00:00:00 2001 From: yugui Date: Wed, 17 Dec 2008 06:17:22 +0000 Subject: merges r20771 and r20772 from trunk into ruby_1_9_1. * ruby.c (set_arg0): use strlcpy() instead of strncpy(). * load.c (rb_feature_p): ditto. * dln.c (dln_load): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ dln.c | 4 ++-- load.c | 2 +- ruby.c | 3 +-- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 87d1168d20..0a0217052c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Tue Dec 16 11:37:07 2008 NAKAMURA Usaku + + * ruby.c (set_arg0): use strlcpy() instead of strncpy(). + + * load.c (rb_feature_p): ditto. + + * dln.c (dln_load): ditto. + Tue Dec 16 09:14:28 2008 Yukihiro Matsumoto * parse.y (block_call): block should not be given to yield. diff --git a/dln.c b/dln.c index 69f44a7add..bb64c52a0f 100644 --- a/dln.c +++ b/dln.c @@ -1433,8 +1433,8 @@ dln_load(const char *file) if (err_stat != B_NO_ERROR) { char real_name[MAXPATHLEN]; - strcpy(real_name, buf); - strcat(real_name, "__Fv"); + strlcpy(real_name, buf, MAXPATHLEN); + strlcat(real_name, "__Fv", MAXPATHLEN); err_stat = get_image_symbol(img_id, real_name, B_SYMBOL_TYPE_TEXT, (void **)&init_fct); } diff --git a/load.c b/load.c index 4166d9cd26..efe130c4f6 100644 --- a/load.c +++ b/load.c @@ -193,7 +193,7 @@ rb_feature_p(const char *feature, const char *ext, int rb, int expanded, const c buf = RSTRING_PTR(bufstr); MEMCPY(buf, feature, char, len); for (i = 0; (e = loadable_ext[i]) != 0; i++) { - strncpy(buf + len, e, DLEXT_MAXLEN + 1); + strlcpy(buf + len, e, DLEXT_MAXLEN + 1); if (st_get_key(loading_tbl, (st_data_t)buf, &data)) { rb_str_resize(bufstr, 0); if (fn) *fn = (const char*)data; diff --git a/ruby.c b/ruby.c index 6a4a9afd0c..0d4a9903b5 100644 --- a/ruby.c +++ b/ruby.c @@ -1619,8 +1619,7 @@ set_arg0(VALUE val, ID id) if (i > PST_CLEN) { union pstun un; char buf[PST_CLEN + 1]; /* PST_CLEN is 64 (HP-UX 11.23) */ - strncpy(buf, s, PST_CLEN); - buf[PST_CLEN] = '\0'; + strlcpy(buf, s, sizeof(buf)); un.pst_command = buf; pstat(PSTAT_SETCMD, un, PST_CLEN, 0, 0); } -- cgit v1.2.3