mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* dir.c (join_path): use strlcat() to force link.
* dir.c (glob_helper): no strcpy() is needed since len is known. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
940e021edc
commit
0506348ef5
2 changed files with 14 additions and 6 deletions
|
@ -1,3 +1,9 @@
|
|||
Sun Jan 25 09:09:29 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* dir.c (join_path): use strlcat() to force link.
|
||||
|
||||
* dir.c (glob_helper): no strcpy() is needed since len is known.
|
||||
|
||||
Sun Jan 25 06:44:58 2009 Technorama Ltd. <oss-ruby@technorama.net>
|
||||
|
||||
* ext/openssl/ossl_ssl.c: Server Name Indication support.
|
||||
|
|
14
dir.c
14
dir.c
|
@ -1112,15 +1112,16 @@ static char *
|
|||
join_path(const char *path, int dirsep, const char *name)
|
||||
{
|
||||
long len = strlen(path);
|
||||
char *buf = GLOB_ALLOC_N(char, len+strlen(name)+(dirsep?1:0)+1);
|
||||
long len2 = strlen(name)+(dirsep?1:0)+1;
|
||||
char *buf = GLOB_ALLOC_N(char, len+len2);
|
||||
|
||||
if (!buf) return 0;
|
||||
memcpy(buf, path, len);
|
||||
if (dirsep) {
|
||||
strcpy(buf+len, "/");
|
||||
len++;
|
||||
buf[len++] = '/';
|
||||
}
|
||||
strcpy(buf+len, name);
|
||||
buf[len] = '\0';
|
||||
strlcat(buf+len, name, len2);
|
||||
return buf;
|
||||
}
|
||||
|
||||
|
@ -1301,12 +1302,13 @@ glob_helper(
|
|||
if (*cur) {
|
||||
char *buf;
|
||||
char *name;
|
||||
name = GLOB_ALLOC_N(char, strlen((*cur)->str) + 1);
|
||||
size_t len = strlen((*cur)->str) + 1;
|
||||
name = GLOB_ALLOC_N(char, len);
|
||||
if (!name) {
|
||||
status = -1;
|
||||
break;
|
||||
}
|
||||
strcpy(name, (*cur)->str);
|
||||
memcpy(name, (*cur)->str, len);
|
||||
if (escape) remove_backslashes(name, enc);
|
||||
|
||||
new_beg = new_end = GLOB_ALLOC_N(struct glob_pattern *, end - beg);
|
||||
|
|
Loading…
Add table
Reference in a new issue