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 + + * 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 * 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 = '/';