summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-04-14 10:46:00 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-04-14 10:46:00 +0000
commit7a332f23ce609f6c2e224d030135db7df4af5d66 (patch)
treee72448fdd856a34cfdf5e3707308cb49d94263dc
parentf34f20ebc5ef12d37315d8228ba21b6cd4bcb9a1 (diff)
* file.c (file_expand_path): root must follow buf when
reallocated. [ruby-talk:69339], [ruby-dev:20025] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--file.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0a11d9b0ba..1c5030162f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Apr 14 19:45:56 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+
+ * file.c (file_expand_path): root must follow buf when
+ reallocated. [ruby-talk:69339], [ruby-dev:20025]
+
Mon Apr 14 03:22:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* rubyio.h (struct OpenFile): add error raise flag to finalizer.
diff --git a/file.c b/file.c
index 93ed79b224..079d8cc631 100644
--- a/file.c
+++ b/file.c
@@ -1677,7 +1677,9 @@ file_expand_path(fname, dname, result)
case '\\':
#endif
if (s > b) {
+ long rootdiff = root - buf;
BUFCHECK(p + (s-b+1) >= pend);
+ root = buf + rootdiff;
memcpy(++p, b, s-b);
p += s-b;
*p = '/';