зеркало из https://github.com/github/ruby.git
etc.c: retry with allocated string buffer
* ext/etc/etc.c (etc_systmpdir): retry with allocated string buffer if static buffer size is not enough. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
0661411671
Коммит
c3262bceee
|
@ -664,9 +664,15 @@ etc_systmpdir(void)
|
|||
if (len > 0) {
|
||||
tmpstr = path;
|
||||
tmplen = len - 1;
|
||||
if (len > sizeof(path)) tmpstr = 0;
|
||||
}
|
||||
# endif
|
||||
tmpdir = rb_filesystem_str_new(tmpstr, tmplen);
|
||||
# if defined _CS_DARWIN_USER_TEMP_DIR
|
||||
if (!tmpstr) {
|
||||
confstr(_CS_DARWIN_USER_TEMP_DIR, RSTRING_PTR(tmpdir), len);
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
FL_UNSET(tmpdir, FL_TAINT);
|
||||
return tmpdir;
|
||||
|
|
Загрузка…
Ссылка в новой задаче